我试图在运行时从代码编译一个 .java 文件,并且在 Eclipse 上一切正常。但是当我尝试导出项目,制作一个可运行的 jar 文件,然后执行 jar 时……好吧,什么也没有发生。为什么它不能从可运行的 jar 文件中工作?
这是我在执行 jar 后在 java 控制台上看到的内容:
30/10/15 13:47:19,597 iconservicesagent[265]:
Failed to get the real path for: /var/folders/xd/jg7p911x3bd76jyy071hl6lw0000gn/
C/com.apple.iconservices
这里是我用来编译源文件的 java 代码:
try {
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("generated/Crilin.java"));
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
null, compilationUnits);
task.call();
fileManager.close();
} catch (Exception e) {
e.printStackTrace();
}