JDK 11作为JAVA_主页?

JDK 11作为JAVA_主页?,java,codenameone,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

在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下?

是的,但是您的问题似乎是
JAVA\u HOME
被设置为JRE而不是JDK

检查。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\u HOME
环境变量设置为该路径

但是,我建议您在Eclipse配置选项卡中设置Java。您可以在“Windows菜单->Java->安装的JRE”中找到

更新1 似乎Codename One使用的是
JAVA\u HOME
,它是在
build.xml
中设置的。所以,暂时忘记我所说的Eclipse变量

<property name="javaHome" value="${env.JAVA_HOME}"/>

您的
JAVA\u HOME
引用了JRE,而JRE不包含
javac
JAVA编译器

您需要将JAVA_HOME环境变量指向JDK,即JAVA二进制文件的根目录

如果您的控制台在回显JAVA_HOME时打印JDK 11的地址,那么可能是您的IDE配置为在您使用该IDE时使用JRE目录覆盖该变量


或者,您的IDE可以使用其捆绑的JRE,您的系统可能引用另一个Java二进制文件(在您的例子中是JDK).

如何回显JAVA_HOME以确定它指向JDK11?是的,命令提示符上的回显显示我已将其正确设置为JDK 11:C:\>回显%JAVA_HOME%C:\Program Files\JAVA\JDK-11.0.8,但Eclipse认为它未设置为JDK11,相反,它认为它被设置为JRE 8,正如您在构建错误消息中看到的那样……eclipse有自己的内部编译器设置。检查eclipse中的Java设置。我已将“编译器符合性级别”从1.8升级到11,包括“Windows菜单->首选项->Java->编译器”和“特定于项目的设置”。。。但我仍然得到相同的构建错误?我不认为IDE配置为覆盖此错误。因为当我将JAVA_HOME设置为JDK 8时,我没有收到任何错误消息……我清楚地说,它可能会覆盖或使用自己的捆绑JAVA运行时,您可以重新配置它。所以您通过将其设置为Jdk8解决了您的问题?是的,如果我将JAVA_HOME设置为Jdk8,它会工作。。。但是如果可能的话,我想使用JDK 11。。。我如何重新配置它自己的捆绑Java运行时,以便它使用JDK 11?谢谢你的评论!如何在Eclipse配置中设置Java?一些帖子说,我们可以尝试在Eclipse中从“Windows菜单->首选项->添加运行时变量”设置JAVA_主页,但我在Eclipse 2020-06的“首选项”下没有“添加运行时变量”选项?@arastirmaci您在Eclipse中的“Windows菜单->JAVA->安装的JRE”中设置JAVA安装。“安装的JRE”也设置为JDK 11。。。因为JDK 11没有JRE目录,我将“已安装的JRE”设置为JDK(不是JRE)目录…@arastirmaci我已经更新了答案,你能检查一下是否有效吗?我肯定JAVA_HOME指的是JDK 11。我已将build.xml中的“source”和“target”更改为11(它们被设置为1.8),但这也没有解决我的问题:(
-vm
C:/Users/evand/Downloads/openjdk-11.0.2_windows-x64_bin/jdk-11.0.2/bin/javaw.exe