2015-10-06 107 views
0

目前我編譯我的Java sourcefiles有:javax.tools編譯器生成JAR

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文件?

回答

2

javax.tools.JavaCompilerjavac只編譯類並生成.class文件。

要將已編譯的類捆綁到JAR文件中,您可以使用JarOutputStream。這是一個tutorial

+0

Thx我要去試試 – Gobliins