Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 爪哇烤饼;是否有env.Program()的模拟程序?_Java_Scons - Fatal编程技术网

Java 爪哇烤饼;是否有env.Program()的模拟程序?

Java 爪哇烤饼;是否有env.Program()的模拟程序?,java,scons,Java,Scons,我需要创建一个可执行文件run,它将为我的类调用java 我正在使用SCON编译我的java项目: libFiles = "lib/myLibs.jar" # Build the environment env = Environment(JAVACLASSPATH = libFiles, JAVASOURCEPATH = '.') env.Java(target = 'classes', source = 'src') 所有类都存储在文件夹class/中,所有源文件都存储在/src中。要运

我需要创建一个可执行文件run,它将为我的类调用java

我正在使用SCON编译我的java项目:

libFiles = "lib/myLibs.jar"

# Build the environment
env = Environment(JAVACLASSPATH = libFiles, JAVASOURCEPATH = '.')
env.Java(target = 'classes', source = 'src')
所有类都存储在文件夹class/中,所有源文件都存储在/src中。要运行这个程序,我必须

# cd classes/
# java -cp . myProg
有没有办法让SCON在根目录中创建一个可执行文件,这样它就可以自己调用java?我看了一个使用Env.Project()的现有项目,但这只是针对C++的。 谢谢

您可以使用生成器。下面的SCons示例满足您的要求

jar = java_env = Jar(target='Observer',
                     source=['Observer.java',
                             'Manifest.txt'])
请注意,如果希望Manifest.txt文件也能正常工作,它必须具有以下第一行:

Manifest-Version: 1.0

仅当您要生成.class文件时才应使用生成器。

这不是对您问题的回答,而是:您使用SCON构建Java项目有什么特殊原因吗?事实上,Java的标准构建工具是ApacheAnt和ApacheMaven。不幸的是,主要项目是在C++中,这个模块是用java编写的,与GUI相关的问题。我一直使用SCons的唯一原因是顶级SCons目录可以构建包括Java模块在内的所有文件。