无法运行Eclipse;JVM已终止。退出码= 13


326

在此处输入图片说明

我只是附加-vm C:\ Program Files \ Java \ jre6 \ bin \ javaw.exe

在eclipse.ini中,然后我尝试再次启动eclipse并收到此错误。给我如何解决或链接实际解决它的方法。

这是我的eclipse.ini

-startup 
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
 --launcher.library
 plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 
-showsplash
 org.eclipse.platform
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction 
openFile 
-vm 
C:\Program Files\Java\jre6\bin\javaw.exe
-vmargs 
-Xms40m 
-Xmx384m

谢谢



12
如果从Java 7升级到Java 8(1.8.0 u25或更高版本)后Eclipse停止工作,则您的Eclipse可能是64位的,并且需要64位版本的JRE。有关更多详细信息,请参见此问题
ADTC

我的情况是我卸载了旧版本的jdk,而eclipse仍在尝试找到它。
sophia 2015年

从2008年左右开始,我就在Windows PC上安装eclipse,并且第一次从未遇到过错误代码13。您可能会认为现在已经进行了排序。
安德鲁·S

Answers:


130

可能只是错误显示的方式(而不是错误的显示方式,如何在eclipse.ini文件中显示),但是Eclipse.ini(指定JVM)中有以下文字:

  • -vm选项及其值(路径)必须位于单独的行上。
  • 该值必须是Java可执行文件的完整绝对路径,而不仅仅是Java主目录。
  • -vm选项必须在-vmargs选项之前发生,因为-vmargs之后的所有内容都直接传递到JVM

5
-vm C:\ Program Files \ Java \ jre6 \ bin \ javaw.exe -startup plugins / org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins / org.eclipse.equinox.launcher.win32 .win32.x86_1.1.1.R36x_v20100810 -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -vmargs -Xms40m -Xmx384m
OfThief王子,2011年

1
您始终可以尝试将2条新VM行恰好放在-vmargs语句之前,而不是一开始?
mecsco 2011年

11
Okey,我解决了。我只是重新安装了64位JDK,重新扩展了eclipse-64bit,然后再次编辑eclipse.ini。
Thief OfThief 2011年

在eclipse.ini中添加了-vm,它的工作原理是..谢谢@danmec
gks 2015年

3
如果已安装jdk7,然后将其升级到运行Windows 7的8,则ini文件在我使用以下格式之前不起作用:-vm C:/ Program Files / Java / jdk1.7.0_71 / bin没有引号。不知道是否需要正斜杠。
尼克

180

将eclipse.ini配置为使用JRE6时,我遇到了相同的错误。事实证明,我在运行32位3.7版的Eclipse时错误地将eclipse配置为使用64位JVM导致了此错误。

正确的配置要求eclipse.ini -vm参数使用“ C:/程序文件(x86)/”而不是“ C:/程序文件/”。

确保您使用的JVM版本(32/64位)与Eclipse版本(32/64位)匹配。


5
对我来说,最近的日食是同样的问题。如果要使用64位Java,则需要安装64位eclipse。
康斯坦丁·彼得鲁赫诺夫

2
是的,那是我的问题。我下载了32位jdk。我是java菜鸟。非常感谢。
现场直播

1
我现在真的很愚蠢,下载了64位的eclipse和jdk,但仍然尝试使用x86进行指定。.至少我并不孤单xD
AmazingDreams 2012年

2
@ ofthief-ofthief,如果您可以将此答案标记为可接受的答案,那就太好了,因为这是造成您遇到的问题的真正原因,并且如果将较差的答案标记为可接受的答案,则可能会引起误解。谢谢!
克林特·伊斯特伍德

3
我正在针对64位JVM启动32位Eclipse。
贾斯汀·斯基尔斯

34

查看消息框的第二行。在那里,您可以看到实际上启动了哪个Java运行时。我的突然是C:\ ProgramData \ Oracle \ Java \ javapath \ javaw.exe。这是在我安装了“ chrome java更新程序”之后发生的(Chrome浏览器an吟:“您的java已过时,您必须更新...”)。

在此“ chrome Java更新”之前,我的日食(luna jee x64)正常启动。靠近背景时,我检测到以下情况:Chrome Java更新程序(从Oracle站点启动的notabene)在env var PATH前面添加了C:\ ProgramData \ Oracle \ Java \ javapath。它包含三个符号链接,这些符号链接指向(x86)程序文件夹中的最新Java 8 JRE安装->因此指向32位Java JRE。Oracle用Java8替换了system32(64位)中具有符号链接的旧技术。SysWOW64(32位)。

同时我学会了。无论您上一次执行的Java安装程序是什么(* .exe),都会导致Windows记住该Java风格(32b或64b),结果是在更新后C:\ ProgramData \ Oracle \ Java \ javapath中的链接指向一个Java记住的味道的安装。如果您安装了64b eclipse,并且遇到描述的错误:只需重新安装最新的64b JDK。之后,Java更新不再链接到32b版本。并且eclipse 64b将在没有eclipse.ini条目的情况下正确启动。


2
感谢您解决此问题。解决该问题的正确方法是什么?我应该更新env var并清理此链接吗?
再加上

我在PATH env var中删除了新条目,并在eclipse.ini中添加了-vm条目,该条目指向64位SDK。但是我怀疑删除PATH条目是正确的方法。在下一次更新中,它可能会再次出现。我问过关于这个问题(一个自己的问题stackoverflow.com/questions/26502059/...
赫里

1
昨天,这又发生了,就像我担心的那样:由chrome启动的Java更新之后,我的SpringToolSuite不再以相同的错误启动(STS是新安装的,并且ini文件中尚未包含-vm参数)。
2014年

7
从PATH env var中删除了c:\ ProgramData \ Oracle \ Java \ javapath,现在可以正常使用了!谢谢!
skoperst,2015年

更新了路径变量以使用%JAVA_HOME%\ bin,并更正了设置%JAVA_HOME%解决的问题。一切工作正常,某些地方(某些地方有更新)破坏了这些东西。
Nitb

33

您需要检查您的PC是否具有64位或32位操作系统,然后对于JDK(64位/ 32位)和Eclipse(64位/ 32位)也是如此。

确保它们都相同;如果不是,则需要下载与您的位数匹配的那个。


谢谢!尝试安装Google的Dart编辑器(64位)时出现错误。我只需要更改.ini以引用64位Java版本即可。
Lucius

5
这并不完全正确。32位JDK / Eclipse组合将在64位Windows上很好地工作。
marsbear 2014年

这是修复我的问题(再次)的原因。我实际上是在更新我的java并得到同样的问题后搜索此答案。最终让我感到震惊的是,我使用的是32位版本的firefox作为默认浏览器,因此当java自动下载发生时,它为我猜测我需要32位,并且我将.ini的安装位置移到了我的位置
Jon B

22

对于Eclipse:

在eclipse.ini中添加了这两行

第二行代表javaw.exe文件的JDK位置。

-vm

C:\ Program Files \ Java \ jdk1.7.0_60 \ bin \ javaw.exe

注意:将-vm行放在-vmargs之前,否则采用默认位置。

对于STS

与上面的STS.ini相同


17

我也刚打过 事实证明,至少对我而言,这是由于尝试将Win32版本的JRE与Win32 Eclipse一起使用。我似乎认为win32 Eclipse需要使用win32 Java(在Oracle / Sun的Java安装程序列表中称为-586)。

我同时使用两者的原因是,我试图确定仅在64位Eclipse中表现出来的错误,因此我需要一个32位来进行比较。

一旦在我的机器上同时安装了JRE的“ x64”(win64)和“ i586”(win32)两个版本,一切正常,没有错误13。您显然可以同时安装两者。


这里也是如此。我试图在WIn64 PC上使用64位Eclipse,但是我猜我有32位Java。无论如何,切换到32位Eclipse,一切都很好。
Raw_Input 2015年

我也看到了 值得注意的是,邪恶的安装程序已经在win64上安装了32位Java,而没有对其进行任何通知。
XTL

14

该错误表示该版本的Eclipse是错误的JVM版本。该链接具有更多详细信息:

http://www.ehow.com/how_4784069_terminated-exit-code-error-eclipse.html


1
我怎么知道兼容版本?
Thief OfThief 2011年

8
该站点实际上一点也没有说。
jakobengblom2

被迫更新Java以运行某些JavaWS应用程序……它安装了32位JRE,但是eclipse想要JDK版本……在安装64位JDK并更新了我的PATH以引用该版本之后,问题得以解决
Micho Rizo

6

确保您使用的Eclipse和Java均为32位或64位。

您不能使用32位JRE运行64位Eclipse。

java -version

Java HotSpot(TM) 64-Bit服务器VM

32位版本的JRE将没有64位。


在“自述文件”或错误消息中没有提及此内容。不会激发人们对Eclipse进行使用评估的信心。
David Spector

4

我遇到了同样的问题,花了大约一个小时来尝试解决问题。最后是一个' 在路径中 ”字符。

因此,我将“ C:\#IDE \ eclipse 3.7 \”重命名为“ C:\ + IDE \ eclipse 3.7 \”,从而解决了该问题。


4

最近我遇到了同样的问题。我的eclipse版本不支持Java版本8。

我不小心在计算机上安装了jre 8,该计算机通过在开头部分添加“ C:\ ProgramData \ Oracle \ Java \ javapath”自动更新了我的PATH变量,导致eclipse选择了该版本(而忽略了手动添加的1.6版本)然后按顺序退出并崩溃,并显示退出代码13。

我只是从路径中删除了这个字符串,所以导致系统选择了我的旧版本,而eclipse开始就很好了。


2

我的两台机器上的eclipse都存在相同的问题。我安装了jre 32位。因此,我删除了32位并安装了64位,它运行良好。


您可以同时安装32位和64位JRE。实际上,如果您使用的是32位浏览器和64位Eclipse安装,则将需要它。
ADTC


2

转到保存Eclipse的文件夹。在启动日志中的配置文件夹中查找。它比“退出代码13”为您提供更好的诊断。


2

Java更新后,由于默认的jdk位置已更改,eclipse将不会启动。将以下行添加到eclipse.ini文件中,立即解决了我的问题:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_75\bin\javaw.exe

我在vmargs之前添加了这些行。看起来如下:

...
--launcher.defaultAction
openFile
-vm
C:\Program Files (x86)\Java\jdk1.7.0_75\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms40m
-Xmx512m

有关eclipse.ini的更多信息,请访问以下站点,网址为http://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example

就我而言,我使用32位Eclipse和Java。如果同时安装了32位和64位版本的Java,请小心选择正确的版本。对于64位版本,请参考目录下的javaw.exe文件

C:\Program Files\Java\jdk1.8.0_60\bin

2

每当您看到此错误时,请转到“配置”目录并检查刚才生成的日志文件。它应该具有适当的Exception stacktrace。我的情况是,我安装了更新的32位JRE(或JVM),这是添加到Path的默认Java。我的Eclipse安装是64位的,这意味着它需要64位的VM才能运行其本机SWT库。因此,我只是卸载了32位JVM,然后将其替换为64位JVM。

我想知道他们是否会改进此报告机制,而不是在某个目录中静默生成日志文件。


1

我在安装32位和64位Java的ubuntu上发生了此错误。采用

sudo update-alternatives --config java

设置正确的版本以用作默认值。



1

我使用的是Eclipse Juno,我不记得它是32位还是64位。我安装了Java 32位,这就是为什么它失败了。然后,我安装了Java 64位,并且Eclipse Juno再次工作。

我还删除了我的环境变量(PATH)中的所有Java或jre引用。


1

在我看来,关于Eclipse和Java的不同体系结构的大多数答案都是错误的,可以使用Windows下的Process Monitor轻松检查。该-vm选项有运行Java的特定版本和它的一点是,所配置的进程已启动,并运行所有对自己的Java代码,那你为什么配置最多的java.exe。在这种情况下,你不要需要为Eclipse和Java相同的架构,但可以愉快地混合32位和64位。你只CAN NOT混合使用这两个,如果你不要使用-vm,但使用的jvm.dll和这样让Eclipse中装载Java程序本身到其自己的进程。后一种行为是Eclipse的默认行为,但如果您-vmeclipse.ini

如果您不相信我,请使用不同的Eclipse和Java架构自行进行一些测试,并进行配置-vm或是否正确进行。最后,这正是提问者在对已接受答案的评论中所描述的内容:

无法运行Eclipse;JVM已终止。退出码= 13

他告诉我们现在正在使用64位JDK,但是在屏幕快照中可以看到他的Eclipse是32位,因为其路径launcher.library是32位。

现在由于我来到这里的原因:我的客户中的很多人在加载我们的基于Eclipse / OSGI的应用程序时也遇到了一些问题,而Java退出时退出代码为13。最后,这表明问题不在于此,也不在于-vm该体系结构。 Java和eclipse.exe,但是相反,他只是想念而已config.ini,我想eclipse.exe不知道要加载什么东西。在我们认识到这一点并放回原config.ini处之后,该应用使用-vm,64位JRE7和32位组合即可很好地加载eclipse.exe


0

我在Ubuntu上遇到了同样的问题,并通过解压缩jdk目录中的所有* .pack文件解决了该问题。例如:cd /usr/java/jdk1.7.0_03/jre/lib sudo ../bin/unpack200 rt.pack rt.jar


0

使用以下配置;

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20130807-1835
    -product
    org.springsource.ggts.ide
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -vm
    C:\Program Files\Java\jdk1.7.0_51\jre\bin\javaw.exe
    -vmargs
    -Dorg.eclipse.swt.browser.IEVersion=10001
    -Dgrails.console.enable.interactive=false
    -Dgrails.console.enable.terminal=false
    -Djline.terminal=jline.UnsupportedTerminal
    -Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -XX:MaxPermSize=256m
    -Dorg.eclipse.swt.browser.IEVersion=10001


0

在我的情况下,未在Env变量中设置JAVA路径。在“环境路径”中设置正确的路径后开始工作。

在命令提示符下键入javac,并确保JAVA PATH是正确的。


0

我做了几件事是为了摆脱这个烦人的错误,因为修改.ini从未对我有用。

  1. 安装了最新的JDK
  2. 完全删除旧的Eclipse IDE文件夹。
  3. 这次我解压到其他位置

双击“ eclipse.exe”,现在就像超级按钮一样使用默认工作区加载旧项目。

我怀疑这是JDK的Java VM问题,而不是日食。


0

我使用了新的Eclipse Installer。我不喜欢安装路径,而是手动进行了更改。之后,我也收到了退出代码= 13的消息。

文件名为中有一个属性。我只需要用新位置修改它,就解决了这个问题。eclipse.ini-install

在新安装程序中,我选择D:/eclipse了IDE,但IDE安装在D:/eclipse/eclipse。因此,我手动移动了文件夹。下次我尝试打开Eclipse时,出现退出错误。因此,我不得不修改eclipse.ini并设置当前位置:

-install
D:/eclipse

0

在寻求解决方案之前,让我们知道为什么它会显示该错误。如果您知道此问题背后的问题,我们可以轻松修复该错误。

原因1:此问题背后的最常见原因是,我们正在尝试安装不同的位版本,即该软件的64位或32位版本。它可能是Eclipse或Java。

解决方案: 检查您正在运行的操作系统版本。确保下载了相同版本的Eclipse和相同版本的Java软件。

原因2: Eclipse.ini文件中的配置错误

解决方案:在Eclipse.ini文件末尾 添加以下行“ -vm然后是Java sdk的路径”。例如:-vm C:\ Program Files \ Java \ jdk1.7.0_71 \ bin \ javaw.exe

原因3: Eclipse安装目录中的特殊字符(#,!,@)。

解决方案: 确保没有任何特殊字符。

原因4:您已经在PATH系统变量中两次添加了JAVA路径,并且两个路径都不相同。

解决方案: 从PATH系统变量中删除一个错误/不同的JAVA路径。

原因5:您可能使用的是Eclipse的最新版本,但是您使用的是Java虚拟机(JVM)的版本错误或不受支持的版本。

解决方案: 要检查您正在使用哪个版本的Java,请按Win + R键并键入cmd,然后按Enter。现在,在该控制台中,键入Java -version命令以了解Java版本。现在研究eclipse是否支持该版本。或者,您可以在Eclipse文件夹中打开“ readme”文件夹,然后打开readme_eclipse.html以查看其支持的版本。


2
请不要针对多个问题发布相同的答案。发表一个好的答案,然后投票/标记以将其他问题重复作为一个重复。如果问题不是重复的,请定制问题的答案。
durron597 2015年

0

为那些使用Eclipse Neon的人

我想运行Eclipse Neon,并拥有JRE 1.8,但JDK 1.7返回error = 13,然后安装了Java JDK 1.8,一切正常


0

我也有这个问题。我有一个旧的JDK1.8.0_05。我安装了最新的JDK1.8.0_111,现在一切正常。只要确保更新您的环境变量即可。

我在Windows 7 64位上。使用Eclipse Neon 1a。

希望能对某人有所帮助。


0

我在sts 3.8.4上遇到了同样的问题,因此我尝试了不同的设置,但没有走运,我再次重新安装了jdk,但尝试了相同的问题。最后,我下载了sts 3.8.2 n,它没有任何问题。使用Windows 8、64位操作系统。谢谢


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.