jdk 11作为java\u主页?

swvgeqrz  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(385)

在eclipse2020-06下运行codename one应用程序时,javahome环境变量能否引用jdk 11(例如jdk-11.0.8)?
或者它是否需要指向jdk 8(例如jdk-1.8.0241)?
当jdk 11设置为java\u 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"

我肯定javau home指向jdk11(因为我可以从命令行回显它)。
但是我想我得到这个错误是因为tool.jar在jdkversion9和更高版本中被删除了,com.sun.tools.javac.main以前在tools.jar下?

kq0g1dla

kq0g1dla1#

你的 JAVA_HOME 指的是jre,而jre不包含 javac java编译器。
您需要将javahome环境变量指向jdk,即java二进制文件的根目录。
如果您的控制台在回显java\u home时打印jdk 11的地址,那么可能是您的ide配置为在您使用该ide时用jre目录覆盖该变量。
或者,您的ide可以使用其捆绑的jre,并且您的系统可能引用另一个java二进制文件(在您的例子中是jdk)。

nhjlsmyf

nhjlsmyf2#

是的,您可以使用JDK11,但您的问题似乎是 JAVA_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"

找到JDK11目录所在的位置并设置 JAVA_HOME 该路径的环境变量。
不过,我建议您在eclipse配置选项卡中设置java。您可以在“windows菜单->java->安装的jres”中找到它。

更新1

似乎一个人用的代号 JAVA_HOME ,设置在 build.xml . 所以暂时忘记我所说的eclipse变量。

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

确保您的环境变量 JAVA_HOME 设置为jdk 11。你可以在这里看到如何设置它的dos。

更新2

此外,您还需要更新 source="1.5" 以及 target="1.5"build.xml 文件到任意一个 1.8 或者 11 .
变更示例 eclipse.ini :

-vm
C:/Users/evand/Downloads/openjdk-11.0.2_windows-x64_bin/jdk-11.0.2/bin/javaw.exe

相关问题