gpt4 book ai didi

JDK 版本 > 1.8.0 时,JavaCompiler 始终为 null

转载 作者:行者123 更新时间:2023-12-02 02:12:50 27 4
gpt4 key购买 nike

我使用以下命令获取JavaCompiler:

System.setProperty("java.home", "/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home");
javax.tools.JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

我尝试过:

jdk1.8.0_144.jdk

jdk1.8.0_162.jdk

jdk-9.0.4.jdk

jdk-10.jdk

jdk-11.jdk

对于 1.8.0 编译器永远无法工作,因为缺少以下文件:/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/lib/currency.data

对于 1.8.0 之后的每个 JDK,编译器始终为 null。

我也只在1.8.0中找到了tools.jar

有谁知道如何让 JavaCompiler 工作,无论 IDK 是什么?

最佳答案

确保您的 module-info.java 文件需要 jdk.compiler 模块:

module myModule {
requires jdk.compiler;
}
<小时/>

根据documentation for getSystemJavaCompiler :

This implementation returns the compiler provided by the jdk.compiler module if that module is available, and null otherwise.

关于JDK 版本 > 1.8.0 时,JavaCompiler 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49711640/

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