Java执行源码编译

来源:互联网 发布:数控车图纸及编程 编辑:程序博客网 时间:2024/06/11 17:04
public class JavaCompilerTest {    private File javaFile = new File("E:/Pair.java");    @Test    public void test() throws IOException {        String classpath = System.getProperty("java.class.path");        List<String> optionList = new ArrayList<>();        optionList.addAll(Arrays.asList("-classpath", classpath));        List<String> files = Lists.newArrayList(javaFile.getCanonicalPath());        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();        StandardJavaFileManager manager = compiler.getStandardFileManager(null, null, null);        Iterable fileObjects = manager.getJavaFileObjectsFromStrings(files);        JavaCompiler.CompilationTask task = compiler.getTask(null, null,                null, optionList, null,                fileObjects);        boolean failOnError = !task.call();        manager.close();        if (failOnError)            throw new IOException("Compilation errors");    }}

原创粉丝点击