gpt4 book ai didi

来自 jar 内的 JavaCompiler

转载 作者:行者123 更新时间:2023-11-30 04:50:26 27 4
gpt4 key购买 nike

当从 jar 文件调用时,我的 JavaCompiler 返回空指针。

如果我从命令行使用 JavaCompiler 运行我的程序,一切都会正常。所以 JDK 已正确安装在我的操作系统上。

为什么不起作用?

代码:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
Iterable<String> options = Arrays.asList( new String[] { "-d", currentDir+"/cache/","-sourcepath",currentDir+"/srcss/"} );
Iterable<? extends JavaFileObject> compUnits = fileManager.getJavaFileObjects(fRun);
Boolean compRes = compiler.getTask(null, fileManager, null, options, null, compUnits).call();

最佳答案

您需要确保在将应用程序作为 jar 启动时使用相同的运行时。

当将其作为独立应用程序启动时,您可能会使用一些基本 JRE 安装中的 rt.jar,而当您从 IDE 执行它时,您很可能会使用 来自 JDK 的 rt.jar

您可以执行 System.out.println(System.getProperty("java.home")); 来调试它。

关于来自 jar 内的 JavaCompiler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973524/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com