使用 JavaCompiler 编译 Java 类文件,javacompilerjava,DiagnosticCo
分享于 点击 41592 次 点评:123
使用 JavaCompiler 编译 Java 类文件,javacompilerjava,DiagnosticCo
DiagnosticCollectorCompile.java
import java.io.IOException;import java.util.Arrays;import javax.tools.DiagnosticCollector;import javax.tools.JavaCompiler;import javax.tools.JavaFileObject;import javax.tools.StandardJavaFileManager;import javax.tools.ToolProvider;public class DiagnosticCollectorCompile { public static void main(String args[]) throws IOException { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>(); StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null); Iterable<? extends JavaFileObject> compilationUnits = fileManager .getJavaFileObjectsFromStrings(Arrays.asList("Foo.java")); JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnits); boolean success = task.call(); fileManager.close(); System.out.println("Success: " + success); }}
MyClass.java
class MyClass { public static void main(String args[]) { System.out.println("Hello, World"); }}
用户点评