从Java中编译外部.java文件从Java中编译外部.java文件(Compiling exter

2019-05-12 02:54发布

我想提出一个工具,将编写.java文件,然后(希望)编译这些文件的.class文件。 All in one的过程中,用户选择在多个.java文件写入一个文件目录。 现在,我想程序编译这些Java文件。

Answer 1:

JavaCompiler是你的朋友。 检查文档在这里

在这里,你如何使用编译器API的例子

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<>();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList("YouFileToCompile.java"));
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
        null, compilationUnits);
boolean success = task.call();
fileManager.close();


Answer 2:

JavaCompiler将是null ,如果代码是从一个JRE运行。 它需要一个JDK,它包括tools.jar



文章来源: Compiling external .java files from within Java