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

enter image description here

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

在 eclipse.ini 中,然后再次尝试启动 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

谢谢你

674522 次浏览

该错误意味着Eclipse版本的JVM版本不正确。详情请点击以下链接:

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

这可能只是错误显示的方式(而不是在eclipse.ini文件中如何编写),但ini(指定JVM)中有文本表示以下内容:

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

我刚刚也碰到了这个。结果证明,至少对我来说,这是因为尝试使用win32 Eclipse的win64版本的JRE。我认为win32 Eclipse需要win32 Java(在Oracle/Sun的Java安装程序列表中称为-586)。

我同时使用这两个工具的原因是,我试图找出一个只在64位Eclipse中出现的错误,所以我需要一个32位的Eclipse来进行比较。

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

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

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

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

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

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

你需要检查你的电脑是64位还是32位的操作系统,然后你的JDK(64位/32位)和Eclipse(64位/32位)也一样。

确保它们都是一样的;如果不是,你需要下载一个匹配你的比特。

我在Ubuntu上也有同样的问题,并通过解包所有*解决了它。在JDK目录下打包文件。 例如: cd /usr/java/jdk1.7.0_03 / jre / lib sudo . ./bin/unpack200 rt.pack rt.jar

.jar

当然,最好不是Eclipse 3.1。Java . x和Java 7。我通过升级到Eclipse 3.8.x解决了这个问题。

使用下面的配置;

    -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

我在重新安装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

取自在Kubuntu 13.04安装Java JDK+JRE (oracle

我在安装了32位和64位java的ubuntu上出现了这个错误。使用

sudo update-alternatives --config java

将正确的版本设置为默认版本。

请看消息框的第二行。在这里,您可以看到实际上启动了哪个java运行时。我的突然变成了C:\ProgramData\Oracle\Java\javapath\javaw.exe。这发生在我安装了“chrome java更新器”之后(chrome浏览器抱怨说:“你的java已经过时了,你必须更新……”)。

在这个“chrome java更新”之前,我的eclipse (luna jee x64)启动时没有错误。仔细观察后台,我发现以下内容:chrome java更新程序(notabene从Oracle站点开始)在env var PATH前面添加了C:\ProgramData\Oracle\ java \javapath。它包含三个符号链接到最新的java 8 JRE安装在(x86)程序文件夹->,因此到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中的条目的情况下正确启动。

Eclipse:

在eclipse.ini中添加了这两行

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

虚拟机

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

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

为STS

在STS.ini中进行如上更改

我在我的两台机器上都有同样的eclipse问题。我安装了32位的jre。所以我去掉了32位,安装了64位,它工作得很好。

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

我不小心在我的机器上安装了jre 8,它通过在开始时附加“C:\ProgramData\Oracle\Java\javapath”来自动更新我的PATH变量,这导致eclipse选择这个版本(并忽略手动添加的1.6版本,它是后来的顺序),并崩溃退出代码13。

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

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

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

不能在32位JRE下运行64位eclipse。

java -version

Java HotSpot(TM) 64-Bit服务器虚拟机

32位版本的JRE没有64位。

我使用的是Eclipse Juno,我不记得它是32位还是64位。我安装了32位的Java,这就是它失败的原因。然后我安装了Java 64位,Eclipse Juno又开始工作了。

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

在我的案例中,JAVA路径没有在Env变量中设置。在Env path中设置正确路径后开始工作。

在命令提示符中输入javac,并确保JAVA PATH正确。

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

  1. 安装最新JDK
  2. 完全删除旧的eclipse IDE文件夹。
  3. 这一次我打开拉链到不同的位置

双击“eclipse.exe”现在像魅力一样工作

.使用默认工作区加载旧项目

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

简单地从http://java.com/en/download/manual.jsp安装64位版本的JAVA

如果64位安装程序提示,则卸载旧版本

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

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

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

-install
D:/eclipse

在开始解决方案之前,让我们知道它为什么显示错误。如果你知道这个问题背后的问题,我们可以很容易地修复这个错误。

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

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

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

<强>解决方案: 在Eclipse.ini文件的末尾添加这行"-vm然后你的Java sdk路径"。例如: 虚拟机 C:\Program Files\Java\ jdk1.7.0_71 \ bin \ javaw.exe < / p >

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

<强>解决方案: 确保你没有任何特殊字符

你已经在path系统变量中添加了两次JAVA路径,两次路径都不同。

<强>解决方案: 从path系统变量中删除一个不正确/不同的JAVA路径

理由5:你可能使用最新版本的Eclipse,但你可能使用错误的版本或不支持的Java虚拟机(JVM)版本。

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

转到您保存Eclipse的文件夹。查看启动日志中的配置文件夹。它会给你一个比“退出代码13”更好的诊断。

在我看来,这里关于Eclipse和Java不同架构的大多数答案都是错误的,这可以通过在Windows下使用Process Monitor等方法轻松检查。-vm选项用于运行特定版本的java,它的意义是,已配置的进程将启动并单独运行所有java代码,这就是为什么要配置到java.exe。在这种情况下,需要为Eclipse和Java拥有相同的架构,但可以愉快地混合32位和64位。如果你使用-vm,你只能不能将两者混合,但让Eclipse使用jvm.dll等将Java本机加载到自己的进程中。后一种行为是Eclipse的默认行为,但如果在eclipse.ini中正确配置-vm,情况就不再是这样了。

如果你不相信我,你可以自己用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不知道加载什么之类的。在我们认识到这一点并将__abc2放回原位后,应用程序可以使用-vm和64位JRE7与32位eclipse.exe结合使用。

在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

使用Eclipse Neon的人

我想运行Eclipse Neon和JRE 1.8但JDK 1.7 返回error=13 然后我安装了java JDK 1.8,一切都像咒语一样工作

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

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

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

我用的是64位的Windows 7。 使用Eclipse Neon 1a.

希望这能帮助到别人。

我面对sts 3.8.4同样的问题,所以我尝试了不同的设置,但运气不好, 我重新安装jdk,尝试了,但同样的问题。 最后我下载了sts 3.8.2 n它运行没有任何问题。 使用windows 8, 64位操作系统。 由于< / p >

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

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

< p > openFile < br > vm < br > C:\Program Files\Java\jdk1.8.0\bin\ javaw.exe < br > —vmargs < br > -Dosgi.requiredJavaVersion = 1.8 < br > -Xms256m < br > < / p >

我尝试了很多方法,并将-VM参数放在建议的位置。但这行不通。最后我找到了解决办法。在执行任何插件或jar之前,vm args应该放在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

在我的情况下,我安装Java 64位,并使用64位eclipse,错误消失了。你可以这样组合

  • 64位Java - 64位系统- 64位eclipse
  • 32位Java - 32位系统- 32位eclipse
  • 32位Java - 64位系统- 32位eclipse

在所有这些情况下,我们永远不会看到这个错误。