目前我用以下方式编译Java源文件:
ArrayList<String> optionList = new ArrayList<String>();
String testpath = System.getProperty("java.class.path") + convertJarFilesToClassPath(getJarFiles());
optionList.addAll(Arrays.asList("-classpath", testpath));
optionList.addAll(Arrays.asList("-d", this.outputDir+"\bin"));
ArrayList<File> files1 = getSourceFiles();
Iterable<? extends JavaFileObject> compilationUnits1 = fileManager.getJavaFileObjectsFromFiles(files1);
JavaCompiler.CompilationTask task = compiler.getTask(null ,fileManager ,null , optionList, null, compilationUnits );
boolean compiled = task.call();
然后我得到我的。class文件正确编译,但我也想有一个jar文件生成。我不熟悉javaccompiler,我使用jdk 7.
我该怎么做,告诉javax.tools. javaccompiler生成一个jar文件?
javax.tools.JavaCompiler
和javac
只编译类,生成.class
文件
要将编译后的类捆绑到JAR文件中,可以使用JarOutputStream
。