在 Eclipse 2020-06 下运行 Codename One 应用程序时,JAVA_HOME 环境变量可以引用 JDK 11(例如 jdk-11.0.8)吗?
还是需要指向 JDK 8(例如 jdk-1.8.0_241)?
当 JDK 11 设置为 JAVA_HOME 时,当我尝试在 Eclipse 2020-06 下运行 Hello World 应用程序时出现以下错误:
BUILD FAILED
...[shortened for brevity]...\HiWorldPrj\build.xml:106: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre1.8.0_241"
我肯定 JAVA_HOME 指向 JDK 11(因为我可以从命令行回应它)。
但我认为我收到此错误是因为 tool.jar 在 JDK 版本 9 及更高版本中被删除,而 com.sun.tools.javac.Main 曾经位于 tools.jar 下?
最佳答案
是you can use JDK 11但您的问题似乎是 JAVA_HOME
设置为 JRE 而不是 JDK。
检查 this answer .仅靠 JRE 无法编译 Java 代码。
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre1.8.0_241"
找到您的 JDK 11 目录并将 JAVA_HOME
环境变量设置为该路径。
但是我建议您在 Eclipse 配置选项卡中设置 Java。您会在“Windows 菜单 -> Java -> 已安装的 JRE”中找到它。
更新1
Codename One 似乎使用了JAVA_HOME
,它是在build.xml
中设置的。所以暂时忘记我所说的关于 Eclipse 变量的内容。
<property name="javaHome" value="${env.JAVA_HOME}"/>
确保您的环境变量 JAVA_HOME
设置为 JDK 11。您可以在 DOS 中查看如何设置 here。 .
更新2
此外,您还需要更新 build.xml
文件中的每个 source="1.5"
和 target="1.5"
到 1.8
或 11
。
eclipse.ini
中的更改示例:
-vm
C:/Users/evand/Downloads/openjdk-11.0.2_windows-x64_bin/jdk-11.0.2/bin/javaw.exe
关于java - JDK 11 作为 JAVA_HOME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63542168/