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

时间:2011-02-09 13:00:39

标签: eclipse startup

enter image description here

我只是追加 -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

谢谢

33 个答案:

答案 0 :(得分:179)

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

正确的配置要求eclipse.ini -vm argumument使用“C:/ Program Files(x86)/”而不是“C:/ Program Files /".

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

答案 1 :(得分:129)

它可能只是错误显示的方式(而不是它在eclipse.ini文件中的编写方式),但Eclipse.ini (Specifying the JVM)中有文字说明如下:

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

答案 2 :(得分:34)

查看消息框的第二行。在那里你可以看到实际上启动了哪个java运行时。我突然C:\ ProgramData \ Oracle \ Java \ javapath \ javaw.exe。这是在我安装了" chrome java updater" (Chrome浏览器呻吟:'你的java已经过时,你必须更新......')。

在此之前" chrome java update"我的日食(luna jee x64)开始没有错误。仔细观察后台我发现以下内容:chrome java updater(从Oracle站点开始)在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 flavor(32b或64b),结果是在更新后C:\ ProgramData \ Oracle \ Java \ javapath中的链接指向java安装记忆的味道。如果您有64b eclipse安装并遇到所描述的错误:只需重新安装最新的64b JDK。之后,java更新不再链接到32b版本。 eclipse 64b将在没有eclipse.ini条目的情况下正确启动。

答案 3 :(得分:32)

您需要检查您的PC是否具有64位或32位操作系统,然后同样适用于您的JDK(64位/ 32位)以及Eclipse(64位/ 32位)

确保它们都是一样的;如果没有,你需要下载符合你位数的那个。

答案 4 :(得分:19)

对于Eclipse:

在eclipse.ini

中添加了这两行

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

  

-vm

     

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

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

对于STS

在STS.ini中更改与上面相同的内容

答案 5 :(得分:17)

我也打了这个。事实证明,至少在我看来,这是因为尝试使用Win64版本的JRE和win32 Eclipse。我似乎win32 Eclipse需要一个win32 Java(在Oracle / Sun的Java安装程序列表中称为-586)。

我之所以使用两者的原因是我试图找出一个只在64位Eclipse中出现的错误,所以我需要一个32位来比较。

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

答案 6 :(得分:14)

错误意味着该版本的Eclipse是错误的JVM版本。该链接有更多详细信息:

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

答案 7 :(得分:4)

确保您使用的Eclipse和Java都是32位或64位。

你无法使用32位JRE运行64位eclipse。

java -version

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

32位版本的JRE不会有64位。

答案 8 :(得分:4)

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

我意外地在我的机器上安装了jre 8,它通过附加" C:\ ProgramData \ Oracle \ Java \ javapath"自动更新了我的PATH变量。在eging中导致eclipse拿起这个版本(并忽略后来按顺序手动添加的1.6版本)并使用退出代码13崩溃。

我刚从路径中删除了这个字符串,这导致系统拿起我的旧版本,eclipse就开始了。

答案 9 :(得分:4)

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

所以我将“C:\#IDE \ eclipse 3.7 \”重命名为“C:\ + IDE \ eclipse 3.7 \”,这解决了问题。

答案 10 :(得分:2)

在java更新之后,eclipse将无法启动,因为默认的jdk位置已更改。将以下行添加到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

答案 11 :(得分:2)

转到保存Eclipse的文件夹。查看启动日志中的配置文件夹。它将为您提供比退出代码13"。

更好的诊断功能

答案 12 :(得分:2)

我在两台机器上遇到了与eclipse相同的问题。我安装了jre 32位。所以我删除了32位并安装了64位而且它工作得很好。

答案 13 :(得分:2)

每当看到此错误时,请转到配置目录并检查刚刚生成的日志文件。它应该有适当的异常堆栈跟踪。 Mine是一个我安装了更新的32位JRE(或JVM)的情况,这是添加到Path的默认Java。我的Eclipse安装是64位,这意味着它需要一个64位VM来运行其原生SWT库。所以我只是卸载了32位JVM并将其替换为64位JVM。

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

答案 14 :(得分:2)

只需从http://java.com/en/download/manual.jsp

安装64位版本的JAVA

并在64位安装程序提示的情况下卸载旧版本

答案 15 :(得分:1)

我使用的是Eclipse Juno,我不记得它是32位还是64位。我安装了Java 32位,这就是它失败的原因。然后我安装了Java 64位,Eclipse Juno再次运行。

我还删除了环境变量(PATH)中的任何java或jre引用。

答案 16 :(得分:1)

在我看来,关于Eclipse和Java的不同体系结构的大多数答案都是错误的,这可以使用例如Windows下的Process Monitor。 -vm选项用于运行特定版本的java,重点是,已启动配置的进程并自行运行所有Java代码,这就是为什么要配置{ {1}}。在这种情况下, DON' T 需要具有相同的Eclipse和Java架构,但可以愉快地混合使用32位和64位。如果 DON' T 使用java.exe,那么只有 CAN' T 混合使用,但是让Eclipse使用jvm将Java本机加载到自己的进程中.dll等。后一种行为是Eclipse的默认行为,但如果您在-vm中正确配置-vm,则不再是这种情况。

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

Cannot run Eclipse; JVM terminated. Exit code=13

他告诉64位JDK现在正在运行,但在他的屏幕截图中可以看到他的Eclipse是32位,因为-vm的路径是32位。

现在我来到这里是因为:我的客户Ony在加载我们的一个基于Eclipse / OSGI的应用程序时遇到了一些问题,Java退出了退出代码13.最后它表明问题不在于{ {1}}或Java和launcher.library的体系结构,但他只是遗漏了-vm,我猜eclipse.exe并不知道要加载什么等等。在我们认识到这一点并将config.ini放回原位后,使用eclipse.exe和64位JRE7以及32位config.ini加载应用就可以了。

答案 17 :(得分:1)

刚刚卸载了jre-32位版本,它对我来说很好。

答案 18 :(得分:1)

我在ubuntu上发生了这个错误,安装了32位和64位java。使用

sudo update-alternatives --config java

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

答案 19 :(得分:0)

我尝试了多种方法,并将-VM参数放置在建议的位置。但这行不通。终于我找到了解决方案。 -Vm args应该在执行任何插件或jar之前放置eclipse.ini文件。我在ubuntu 18.04中尝试了最新的Eclipse [Photon]。它对我来说非常有用。

-startup
-vm        
/usr/local/java/jdk1.8.0_251/bin/java.exe
plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1100.v20190907-0426
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM

答案 20 :(得分:0)

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

答案 21 :(得分:0)

我也有这个问题。我有一个旧的JDK1.8.0_05。我安装了最新的JDK1.8.0_111,现在一切都很棒。请务必更新您的环境变量。

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

希望能有所帮助。

答案 22 :(得分:0)

当PATH环境变量指向错误的java安装时,可能会发生这种情况。

答案 23 :(得分:0)

对于Eclipse Neon

我想运行Eclipse Neon并拥有JRE 1.8但JDK 1.7 它返回错误= 13 然后我安装了java JDK 1.8,一切都像魅力

答案 24 :(得分:0)

1)打开 SpringToolSuite4.ini 文件。
2)在 SpringToolSuite4.ini 文件中搜索“ openFile” 文本。
3)在 SpringToolSuite4.ini
中提供 javaw.exe 文件位置 4)注意:在 -vm 和您的 javaw.exe 文件位置路径之间提供换行,如下所示。

  

openFile
  -vm
  C:\ Program Files \ Java \ jdk1.8.0 \ bin \ javaw.exe
  -vmargs
  -Dosgi.requiredJavaVersion = 1.8
  -Xms256m

答案 25 :(得分:0)

我修复了重新安装jdk的问题。就我而言,有必要这样做:

java -version
sudo apt-get purge openjdk*
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
java -version
javac -version

取自Install Java JDK+JRE (oracle) in Kubuntu 13.04 from apt

答案 26 :(得分: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)版本。

<强>解决方案: 要通过按下win + R键并键入cmd并按Enter键来检查使用打开命令提示符的java版本。现在在那个控制台类型的Java -version命令中了解java版本。 现在研究eclipse是否支持该版本。 要么 您可以在Eclipse文件夹中打开“readme”文件夹并打开readme_eclipse.html以查看它支持的版本。

答案 27 :(得分:0)

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

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

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

-install
D:/eclipse

答案 28 :(得分:0)

为了摆脱这个烦人的错误,我做了几件事,因为修改.ini从来没有为我工作过。

  1. 安装最新的JDK
  2. 完全删除旧的Eclipse IDE文件夹。
  3. 这次我解压到不同的位置
  4. 双击&#34; eclipse.exe&#34;现在像魅力一样工作 使用默认工作区加载旧项目。

    我怀疑它是JDK的Java VM问题而不是eclipse。

答案 29 :(得分:0)

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

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

答案 30 :(得分:0)

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

答案 31 :(得分: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

答案 32 :(得分:-1)

嗯,最好不要使用Eclipse 3.1.x和Java 7.我通过升级到Eclipse 3.8.x来解决这个问题。