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

谢谢你!


当前回答

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.

其他回答

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

使用Eclipse Neon的人

我想运行Eclipse Neon, JRE 1.8但是JDK 1.7 返回error=13 然后我安装了java JDK 1.8,一切都很顺利

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

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

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

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

原因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查看它支持哪个版本。