在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下?
2条答案
按热度按时间kq0g1dla1#
你的
JAVA_HOME
指的是jre,而jre不包含javac
java编译器。您需要将javahome环境变量指向jdk,即java二进制文件的根目录。
如果您的控制台在回显java\u home时打印jdk 11的地址,那么可能是您的ide配置为在您使用该ide时用jre目录覆盖该变量。
或者,您的ide可以使用其捆绑的jre,并且您的系统可能引用另一个java二进制文件(在您的例子中是jdk)。
nhjlsmyf2#
是的,您可以使用JDK11,但您的问题似乎是
JAVA_HOME
设置为jre而不是jdk。检查这个答案。jre本身无法编译java代码。
找到JDK11目录所在的位置并设置
JAVA_HOME
该路径的环境变量。不过,我建议您在eclipse配置选项卡中设置java。您可以在“windows菜单->java->安装的jres”中找到它。
更新1
似乎一个人用的代号
JAVA_HOME
,设置在build.xml
. 所以暂时忘记我所说的eclipse变量。确保您的环境变量
JAVA_HOME
设置为jdk 11。你可以在这里看到如何设置它的dos。更新2
此外,您还需要更新
source="1.5"
以及target="1.5"
在build.xml
文件到任意一个1.8
或者11
.变更示例
eclipse.ini
: