Eclipse: Java启动时返回错误代码=13

84

我刚将Java更新到1.8 u25版本,现在每次尝试打开Eclipse时都会收到此消息:

enter image description here

对于Eclipse,我不知道自己做错了什么。我已经重新下载过多次,但仍无法使其正常工作。有什么办法可以修复吗?

这是我的eclipse.ini文件。

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files (x86)\Java\jdk1.8.0_25\jre\bin
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms40m
-Xmx512m

你下载了哪个版本的Eclipse?Luna和Kepler默认提供Java 8支持(需要下载支持包)。 - Adheep
2
@Harry 不是复制。我有同样的问题。请注意错误消息中的 -vm 选项与 eclipse.ini 文件中的选项 不匹配。在我的情况下,甚至没有在 ini 文件中提到这个选项。另一个问题来自2011年2月,而这个问题是在安装了Java 8 Update 25后开始出现的。它在上一个版本的Java 7中正常工作。 - ADTC
3
这是一个重复的问题。问题与@Sergey Morozov所描述的一样,即64位的eclipse与32位的jre冲突,反之亦然。这在新手eclipse论坛的置顶帖中有更详细的描述,https://www.eclipse.org/forums/index.php/t/198527/。 - Erick G. Hagstrom
不幸的是,另一个问题选择了错误的答案,这使得检测重复问题变得更加困难。 - Erick G. Hagstrom
以下是对我有效的解决方法,请检查您的Java版本是否为64位或32位。然后检查您的Eclipse版本是64位还是32位,然后相应地安装JDK 64位或32位。 - Rishabh Agarwal
显示剩余3条评论
7个回答

155

此错误是由于您的Eclipse版本为64位。您应该下载并安装64位JRE,并将其路径添加到eclipse.ini中。例如:

此错误是因为你的Eclipse版本是64位的。你需要下载并安装64位的JRE,然后在eclipse.ini文件中加入它的路径。比如:

...
--launcher.appendVmargs
-vm
C:\Program Files\Java\jre1.8.0_45\bin\javaw.exe
-vmargs
...

注意: -vm 参数应该位于 -vmargs 之前,并且路径应该在单独的一行上。它应该是指向 javaw.exe 文件的完整路径。不要用双引号 (") 包含路径。

如果您的 Eclipse 是 32 位,请安装 32 位 JRE 并使用其 javaw.exe 文件的路径。


6
由于x64安装程序在C:\ProgramData\Oracle\Java\javapath中创建了指向x64二进制文件的新符号链接,因此我不需要将路径添加到ini文件中。当然,下次安装x86更新时,这将重新指向x86二进制文件,直到安装x64更新为止。最好还是添加路径,但每次更新Java 8 x64时都需要更新它。 - ADTC
4
顺便提一句,我只安装了x64版本的JRE来使Eclipse运行。Eclipse只需要JRE就可以运行,而JDK只有在你想开发Java 8应用程序时才需要。 - ADTC
我曾经遇到过类似的问题,我在CentOS 86_64系统上运行Eclipse时,我的PATH环境变量中配置了32位的Java。将PATH环境变量修改为正确的86_64 Java包后,Eclipse就可以正常工作了。谢谢。 - Rishi
更新eclipse.ini以指向适当的JRE/JDE更好,因为您可以完全控制指向适当的位置。此外,将来的任何Java更新都不会影响您的Eclipse JRE/JDK设置。 - Rakesh Prajapati
@sergey Morozov,你的笔记对我的情况很有帮助。我的Java版本和Eclipse都是64位的,但是在eclipse.ini文件中,-vm参数被添加到了中间某个位置。当我把-vm参数写在-vmargs参数的上面时,Eclipse就启动了!谢谢。 - Nilesh
显示剩余3条评论

57

正如Vito所提到的,这个错误是在Java更新后出现的,因为路径:

C:\ProgramData\Oracle\Java\javapath

如果将路径添加到Path环境变量中,可能会导致Eclipse使用错误的Java版本运行。

要解决这个问题:

1)右键单击“计算机”,选择“属性”。

2)点击“高级系统设置”

3)点击“环境变量...”

4)在“系统变量”部分找到“Path”变量。

5)选择它并单击“编辑...”

6)找到并删除上述路径。

这对我有效。我应该提到,我已经有了这个路径:

c:\Program Files\Java\jdk1.7.0_21\bin

Path变量中,但新路径被添加到Path变量的开头,因此解析时会首先使用该路径。


2
这对我解决了问题。我猜测Java 8更改了PATH并重新安装Java7没有更新PATH。因此,我的eclipse一直在尝试并且无法在J8_x86下运行,无论我重新安装多少次J7_64。手动更改路径变量立即解决了问题。 - Karl
这对我有用。谢谢! - Matt Swezey
1
这真的很有帮助,你就这样帮了我。你节省了我很多时间。非常感谢 :) - Motilal
这对我也解决了问题。请记住,每当您从系统托盘(在Windows中)或其他地方(在其他*nix环境中)单击“确定”以进行Java更新时,就会发生这种情况。 - Nirmal
1
无论是被采纳的答案还是这个答案都解决了我的问题。我仍然更喜欢这个答案,因为如果其他程序使用与eclipse相同的路径,它们也会使用错误的路径。 - OuuGiii
显示剩余2条评论

14

这是由于Java升级导致的。您需要在环境路径中删除:C:**ProgramData\Oracle\Java\javapath**。


1
请向用户显示确切的命令。 - frb
对我来说它有效。开始,搜索系统环境变量,再次找到“环境变量”,找到“路径”并编辑它,删除C:ProgramData\Oracle\Java\javapath,就像Vito所说的那样。 - pagurix
在运行sysdm.cpl后,进入高级选项卡,点击“环境变量”按钮。然后在下面的框中查找“Path”,根据需要进行编辑。 - Dimas
c://path-to-java-folder/jdk/bin 应该是你的类路径条目,将其保留在用户变量中,匹配64位jdk和sts。完成。 - Shaurya

6

我的解决方案: 因为其他方法对我无效。 我删除了 C:\ProgramData\Oracle\Java\javapath 下的符号链接,这使得 Eclipse 运行时使用在 PATH 中声明的 jre。 这对我来说更好,因为我想使用我选择的 JRE 来开发 Java,而不是使用系统 JRE。通常你想用旧版本进行开发等等。


3

当我升级我的Java版本到1.8时,我也遇到了错误代码。这个问题出在我的Eclipse上。

我的系统上安装的JDK是32位的,而我的Eclipse是64位的。

为了解决这个问题,我下载了32位的Eclipse。

我认为这是架构不匹配的问题。

请确保您的JDK和Eclipse架构类型相匹配。


2

由于您没有提及Eclipse的版本,我建议您下载最新版本的 Eclipse Luna,它默认支持Java 8。


1
这通常是由于在Eclipse配置中设置的JRE文件夹被(意外)删除所致。您可以尝试按照Eclipse wiki上的说明配置eclipse.ini文件以包括JRE位置,或者从命令提示符中使用VM参数启动eclipse。我已经亲自尝试了两种方法,我认为命令提示符选项更好。

一旦您能够启动Eclipse,请确保在首选项窗口下的Java-->已安装的JRE中验证已安装的JRE位置。


1
成功修改了Eclipse的启动画面,但随后立即弹出一个错误屏幕,显示“无法加载JNI共享库“c:\Program Files(x86)\Java\jdk1.8.0_25\jre\bin\client\jvm.dll”。 - chif-ii

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