我正在尝试使用Eclipse进行Android开发。我在尝试运行Eclipse时遇到了这个问题,因为几分钟前刚刚安装了4.2版本。

在第一次尝试在没有任何参数指定Java VM的情况下启动Eclipse之后,我得到了一条错误消息,说它在Eclipse文件夹中找不到一个名为javaw.exe的Java VM,所以我找到了Java安装的位置,并在快捷方式的目标中将该位置指定为参数。现在我得到一个不同的错误,Java已经启动,但返回退出代码=13。

类似的问题似乎表明这是一个32位/64位的冲突,但我有99%的肯定,我下载了64位版本的Eclipse和Java (RE 7u5),我选择这两个版本是因为我有64位的Windows 7。

如果有人知道如何确认我的Eclipse和Java是64位的, 非常感谢。 如果你认为我的问题不同,请帮忙! 请尽量直白地说,因为我对Eclipse完全不熟悉 和Java。

“C:\Program Files\ eclipse - sdk -4.2-win32-x86_64\eclipse\eclipse.exe”-vm“C:\Program Files (x86)\Java\jre7\bin\javaw.exe”

完整的错误代码…

Java was started but returned exit code=13
C:\Program Files (x86)\Java\jre7\bin\javaw.exe
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-jar C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
-os win32
-ws win32
-arch x86_64
-showsplash C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins\org.eclipse.platform_4.2.0.v201206081400\splash.bmp
-launcher C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\eclipse.exe
-name Eclipse
--launcher.library C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v201205221813\eclipse_1503.dll
-startup C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
--launcher.overrideVmargs
-exitdata 1e30_5c
-vm C:\Program Files (x86)\Java\jre7\bin\javaw.exe
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-jar C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar

当前回答

冒着不能给现有答案增加太多价值的风险,但我自己也经历过这些混乱,我想看看我是否能巩固我解决问题的方法:

Maintain separate Development from your normal machine environments. The reason for this is that there are probably many applications running on your machine that you are not aware of that need Java to be updated occasionally, for example banking and security applications. When those updates occur they change the environmental variables and so if you are using those in your development environment the update will almost certainly break your Eclipse setup. Install versions of Eclipse, either 32 and 64 bit depending on your plugins etc. The reason is that many plugins still require 32bit and trying to install them into a 64bit environment causes many obscure (very obscure) errors. This means for example you may have to have separate instances of Eclipse for your Java EE, PHP, Python, Assembler, etc, development environments. This may appear to be onerous, but for me this has been a blessing. Install two Java runtimes once again one 32bit and one 64bit and then edit the eclipse.ini for each of your installations to point to the correct JRE, not the JRE HOME in the environmental variables. I create a directory in C:\Java\64bit\jdk1.7.0_15\ and C:\Java\32bit\etc and in your eclipse.ini file you add the -vm C:\Java\64bit\jdk1.7.0_15\bin line to point to your needed java runtime.

一旦完成上述工作,您就可以随心所欲地安装Java sdk更新,但您的开发环境永远不会中断。如果您需要更新开发运行时环境,只需更改eclipse.ini中的-vm路径

其他回答

当我忘记安装JDK时,我收到了这条消息。

我发现我错误地安装了32位的Eclipse,并试图将其与64位的JRE一起使用,这就是我得到这个错误的原因。要查看是否安装了32位或64位Eclipse,请参阅以下答案:https://stackoverflow.com/a/9578565/191761

I had the same issue... installed STS but consistently got the "java was started but returned exit code=13" message. My issue was that I was using the default install file, which was not processor specific, from https://spring.io/tools/sts. I had to dive deeper to be very specific in downloading the 64 bit version. It was not intuitive as to which version you were downloading. Once I got the 64 bit version (note that the zip file still includes 'win32' in the name, just appends '-64' at end) it worked.

我得到这个错误,发现我的PATH变量(在Windows上)可能被改变了。在我的PATH中的第一个条目是:

C:\ProgramData\Oracle\Java\javapath

...Eclipse运行“C:\ProgramData\Oracle\Java\javapath\javaw”——就会报错。我怀疑这是随着Java 8的安装而来的。

我安装了几个Java版本(6、7和8),所以我从PATH中删除了该条目,并尝试重新启动Eclipse,结果运行正常。

如果它不适合你,你需要升级你的JDK(到Java版本-在本例中是8)。

关于如何编辑PATH变量的说明

将vm参数添加到.ini文件对我有用

-vm
C:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe

增加更多细节

对于sts 3.9.18版本,我得到错误,Java已启动,但返回退出代码=13,对于最新版本相同 问题只是返回的退出码是14。这是因为默认选择的java是32位的,而这个版本的sts/eclipes是64位的。通过在STS.ini文件中设置64位java版本来解决这个问题 虚拟机 C: \ Progra ~ 1 \ Java \ jdk1.8.0_131 \ bin \ javaw.exe 这是在文件中的vmargs参数之前。