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

谢谢你!


当前回答

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

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

其他回答

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.

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

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

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

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

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

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

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

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