java - JDK 11 作为 JAVA_HOME?

标签 java codenameone

在 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.811

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/

相关文章:

objective-c - 如何加快 iOS Xcode 编译速度

java - 在 Codename 一个网页浏览器中显示 HTML 代码

java - 解析 REST 服务的资源扩展

java - Java 中的 CpuTime。它与真实的 CPU 周期有何对应?

java - 但找不到元素 'mvc:bean' 的声明

Java,反编译器出现问题

java - 从域模型中检索集合中的项目的最佳做法是什么?

java - Codenameone android 构建错误 list 合并

java - 异常 : java. lang.NoClassDefFoundError - org/json/simple/JSONValue

codenameone - 放置一个按可用空间宽度缩放的图像