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

谢谢你!


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

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

这可能只是错误显示的方式(而不是在eclipse.ini文件中如何编写),但是在eclipse.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

当然,最好不是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已经过时了,你必须更新……”)。

Before this "chrome java update" my eclipse (luna jee x64) started without error. Looking closer to the background I detected following: the chrome java updater (notabene started from an Oracle site) added C:\ProgramData\Oracle\Java\javapath in front of the env var PATH. It contains three symbolic links to the newest java 8 JRE installation in (x86) program folder -> hence to a 32 bit java JRE. Oracle replaces with Java8 the old technique having the symlinks in system32 (64bit) resp. SysWOW64 (32bit).

Meanwhile I learned. Whatever java installer you have executed last (the *.exe) leads windows to remember that java flavour (32b or 64b), with the result that after an update the links in C:\ProgramData\Oracle\Java\javapath point to a java installation of the remembered flavour. If you have a 64b eclipse installation and encounter the described error: just re-install the newest 64b JDK. After that the java updates do no more link to a 32b version. And eclipse 64b will start correctly without the entry in 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位服务器虚拟机

32位版本的JRE没有64位。

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

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

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

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

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

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

双击“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

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

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

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

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

解决方案: 在Eclipse.ini文件的末尾添加这一行“-vm then path of your java sdk”。例如: 虚拟机 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查看它支持哪个版本。

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

In my opinion the most answers here regarding different architectures of Eclipse and Java are simply wrong and this can be easily checked using e.g. Process Monitor under Windows. The -vm option is there to run a specific version of java and the point of it is, that the configured process is started and runs all the Java code on its own, that's why you configure up to java.exe. In that case you DON'T need to have the same architecture for Eclipse and Java, but can happily mix both 32 Bit and 64 Bit. You only CAN'T mix both, if you DON'T use -vm, but let Eclipse load Java natively into its own process using jvm.dll and such. That latter behavior is Eclipse's default, but not the case anymore if you properly configure -vm in eclipse.ini.

如果你不相信我,你可以自己用Eclipse和Java的不同体系结构做一些测试,并正确地配置-vm。最后,这正是提问者在对公认答案的评论中所描述的:

不能运行Eclipse;JVM终止。退出代码= 13

他说64位JDK现在正在工作,但在他的截图中可以看到他的Eclipse是32位的,因为启动器的路径。库是32位的。

And now for the reason I came here: Ony of my customers had some problems loading one of our Eclipse/OSGI based applications as well and Java exited with exit code 13. In the end it showed that the problem was not about -vm or the architectures of Java and eclipse.exe, but instead he was simply missing config.ini and I guess eclipse.exe wasn't aware what to load or such. After we recognized that and put a config.iniback in place, the app loaded fine with using -vm and a 64 Bit JRE7 in combination with a 32 Bit 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位操作系统。 谢谢

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

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

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

我尝试了很多方法,并将-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

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