java - 如何从Java程序中编译.java文件

标签 java compiler-construction compilation compiler-errors

这个问题已经在这里有了答案:




已关闭8年。




Possible Duplicate:
Compiling external .java files from within Java



我一直在使用来自网上的示例,但是在JavaCompiler中调用run方法时却一直收到NullPointerExceptions。如果您知道如何从一个Java文件中编译另一个Java文件,请提供有关如何执行此操作的代码。谢谢

最佳答案

我已经使用JavaCompiler即时编译数学表达式。

这是我的做法:

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("YouFileToCompile.java"));
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
        null, compilationUnits);
boolean success = task.call();
fileManager.close();

关于java - 如何从Java程序中编译.java文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8363904/

相关文章:

java.util.Scanner 处的 java.util.NoSuchElementException

java - 滚动条不起作用

java - 使用此代码从数组列表中删除重复项但忽略大小写

compiler-construction - C++0x TMP编译速度

java - 在 Java 中创建符号表时在编译时考虑未知变量值

java - 当我的游戏应该重新启动时,我应该如何处理重置 SurfaceView 和 Thread?

java - 初始化大量常量时如何规避 Java 中静态初始化器的大小限制

linux - 如何使用gcc制作交叉编译器?

android - Linux 源代码编译过程中的权限问题

html - 尝试将网站的 SASS 编译为 CSS 时出错