javax.tools编译器生成jar

时间:2015-10-06 13:40:43

标签: java jar java-compiler-api

目前我用以下代码编译我的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文件。 我不熟悉JavaCompiler,我使用jdk 7。

我需要做什么,告诉javax.tools.JavaCompiler生成一个jar文件?

1 个答案:

答案 0 :(得分:2)

javax.tools.JavaCompilerjavac仅编译类并生成.class个文件。

要将已编译的类捆绑到JAR文件中,您可以使用JarOutputStream。这是embed