Nis*_*ede 8 java eclipse classpath
我正在尝试运行java应用程序,我收到以下错误,
无法找到javac编译器; com.sun.tools.javac.Main不在类路径上.也许JAVA_HOME并没有指向JDK
我已经经历了很多SO问题并且发现解决方案是JAVA_HOME应该指向JDK,而不是JRE.
然后我试图在命令提示符下打印JAVA_HOME,

我从我的计算机 - > properties-> env变量 - >系统变量中设置了这个JAVA_HOME,如下所示,

我还使用首选项在eclipse中添加了新变量,

最后我仍然得到同样的错误.JAVA_HOME怎么了?
更新:
在eclipse-preferences-installed jres那里只有一个条目存在,它是jdk并被选中,

而且project properties java build path- libraries有- JRE System Liberary [jdk1.8.0_31]使用.

更新1:
C:\Program Files\Java\jdk1.8.0_31有文件夹命名jre.该jre文件夹是否导致此问题?我可以删除这个文件夹吗?有没有办法在项目中只添加jdk liberary?
Aar*_*lla 10
Eclipse是一个IDE,因此它有(至少)两个Java版本:它用于运行(JAVA_HOME)的一个版本以及用于运行应用程序的JVM.两者不需要相同.
因此,为了解决您的问题,您需要查看Eclipse的首选项,特别是Installed JREs它提供了Eclipse将用于从项目运行Java代码的Java VM列表.我的猜测是那里会有几个条目,默认是JRE而不是JDK.
确保列表中有JDK,然后转到项目.在项目中,您可以在Java Build Path- > 下选择要使用的Java VM Libraries.
[编辑]
仔细看看最后一个截图:你已经配置了Eclipse使用C:\Program Files\Java\jdk1.8.0_31\jre,这意味着你已经将它指向了JDK内部的JRE.C:\Program Files\Java\jdk1.8.0_31改为使用(不包括\jre在最后).
[编辑2]如果删除该jre文件夹,Java将停止工作.任何JDK也包含JRE.在JRE中包含rt.jar有String.class等.Java编译器tools.jar位于JDK中.
如果在Eclipse中重新创建JRE条目没有帮助,则必须手动将其添加到类路径中.
您可以使用变量("添加变量...")来确保Eclipse在切换到新的/不同的JRE时更新路径.尝试JAVA_HOME使用扩展程序lib/tools.jar
小智 5
| 归档时间: |
|
| 查看次数: |
30882 次 |
| 最近记录: |