使用java程序,我需要编译一个包含一组.java文件的包,编译后我需要将.class文件移动到一个单独的文件夹中。
我决定使用JavaCompiler,而不是使用Java类从命令行执行ProcessBuilder编译。我是JavaCompiler的新手,我第一次尝试一次编译一个.java文件就成功了。但是我不知道如何设置用于包级编译的类路径(-classpath)、目标文件夹(-d)和.java文件列表。
谁能告诉我如何设置上述选项?
发布于 2011-04-27 14:54:47
根据哈里·Joy的建议,你可以使用ANT。他的意思可能不是分别从命令行和build.xml文件使用它,而是直接从java程序使用它。这样您就可以访问“fileset/exclude/include...”你在ant中拥有的功能,并节省了大量的编码。
例如,伪代码(未测试,甚至可能不编译,只是作为提示):
Project p = new Project();
p.init();
p.addBuildListener( new SimpleBuildListener() );
p.setBaseDir( new File( "." ).getAbsoluteFile() );
Javac task = (Javac) p.createTask( "javac" );
task.srcdir( srcDirPath );
// Filsets can be built this way
FileSet set = new FileSet();
set.setDir( srcDirPath );
set.setIncludes( "**/*.java" );
task.addFileset( set );https://stackoverflow.com/questions/5799969
复制相似问题