java编译源文件_Java实现编译源文件(Java源码)
代碼案例:
import java.util.ArrayList;
import java.util.List;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
public class JDK6CompileUtil {
/**
* 編譯
*/
public static void compiler(){
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int results = compiler.run(null, null, null, "C:\\Test.java");
System.out.println("Success: " + (results == 0));
}
/**
* 編譯
*
* @throws Exception
*/
public static void compiler2()throws Exception{
List list = new ArrayList();
list.add("C:\\Test.java");
list.add("C:\\Test2.java");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector diagnostics = new DiagnosticCollector();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
Iterable extends JavaFileObject> compilationUnits = fileManager
.getJavaFileObjectsFromStrings(list);
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
null, compilationUnits);
boolean success = task.call();
fileManager.close();
System.out.println("Success: " + success);
}
/**
* @param args
*/
public static void main(String[] args) {
try {
compiler2();
} catch (Exception e) {
e.printStackTrace();
}
}
}
總結
以上是生活随笔為你收集整理的java编译源文件_Java实现编译源文件(Java源码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python tvtk库_PyCharm
- 下一篇: 自动补足算法是什么_数据、算法岗的几点经