安装了多个Java版本,但启动Java时返回退出代码=13

5

我无法在Windows 7上启动eclipse。 昨天它还能正常工作。 这是我启动eclipse时出现的错误截图:

Eclipse error when I start eclipse

CMD获取的Java版本

java and javac versions

为什么javajavac的版本不同?
我的Java home设置为Jdk 7,如下所示: JAVA_HOME = C:\Program Files\Java\jdk1.7.0_60 注意:我已经在计算机上安装了jdk 8,但我没有设置jdk 8路径。
这个问题已经被问过几次了,但我无法在我的计算机上解决它,请不要将其标记为重复。

你有Java 8 JDK吗?还是只有JRE?因为编译器是7。可能Windows已经将Java 8设置在%PATH%中,在%JAVA_HOME%之前加载...在cmd中输入“which java”。 - Danielson
@Danielson,我安装了Java 8 JDK,并且我的%PATH%中包含了 C:\ProgramData\Oracle\Java\javapath;%JAVA_HOME%\bin; - Nitesh Virani
检查您的“环境变量”中是否有7。或者,只需从计算机中卸载Java 7。Java 8也可以编译为Java 7... - Danielson
可能是重复问题:无法运行 Eclipse;JVM 终止。退出代码=13 - VedantK
5个回答

8

在环境变量中检查您的路径是否以C:\ProgramData\Oracle\Java\javapath开头

如果是,请删除它并重试。


是的,它以 C:\ProgramData\Oracle\Java\javapath; 开头。 - Nitesh Virani
删除并重新启动命令提示符。现在检查javac -version。 - Sasikumar Murugesan
它有效了,我很好奇为什么把C:\ProgramData\Oracle\Java\javapath附加在%path%中。 - Nitesh Virani
安装Java8及以上版本时,将会追加此内容。 - Sasikumar Murugesan

3
很可能您在安装JRE 1.8.0_51之前已经安装了JDK 1.70_60

这意味着您的编译器javac位于JDK分发(Java开发工具包)中,而您最近下载的JRE(Java运行时环境)中找到了您的java运行时。 JRE不包含javac(Java编译器)。

2

最近我也遇到了同样的问题,Java 8安装程序将C:\ProgramData\Oracle\Java\javapath添加到Windows PATH变量,这就是为什么您会看到不同版本的javajavac的原因。


1
您的Eclipse可能没有指向正确的JDK。请打开eclipse.ini配置文件进行编辑,该文件与eclipse.exe文件位于同一文件夹中。将以下内容替换为:
-vm C:\ProgramData\Oracle\Java\javapath\javaw.exe

使用:

-vm
C:/Program Files/Java/jdk1.7.0_60/bin/javaw.exe

然后,重新启动eclipse。

可能是,但是 java -version 显示的是 7。因此 Windows 配置有误。 - Danielson
2
-vm 参数会覆盖你的 Windows 环境变量。 - owenrb
或者您可以尝试删除整个“-vm C:\ProgramData\Oracle\Java\javapath\javaw.exe”行。下次启动Eclipse时,它应该使用JAVA_HOME变量。 - owenrb

0

我最近安装了jdk 8。Java 8安装程序将Windows PATH变量前置为C:\ProgramData\Oracle\Java\javapath,这就是我看到不同版本的javajavac的原因。

对于那些遇到相同问题的人,我在这里找到了一个很好的解释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接