我正在尝试使用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

当前回答

在我的例子中,重新安装Java JDK就成功了。我现在正在运行Eclipse 4.4 (Luna)。

其他回答

上面的答案对我不起作用:我没有定义Java路径的环境变量,或者我的路径中没有Java。

但是,路径C:\ProgramData\Oracle\Java\javapath\javaw.exe总是出现在Eclipse 4.5 (Mars)错误弹出窗口中的-vm选项中,即使我试图在Eclipse .ini文件中覆盖。

我通过打开命令提示符,cd eclipse.exe所在的目录并使用MKLink来解决这个问题:

C:\EclipseMars> mklink javaw.exe "C:\Program Files\Java\jdk1.7.0_79\bin"
symbolic link created for javaw.exe <<===>> C:\Program Files\Java\jdk1.7.0_79\bin

不需要对eclipse.ini进行任何更改。

我确实尝试在eclipse.ini中指定-vm选项,并且它被考虑在内,但在错误弹出窗口中-vm选项出现了两次,即使在eclipse.ini中只有一个-vm。

在我的eclipse.ini中,我没有-vm选项,只是符号链接似乎已经纠正了它。

如果在带有32位JRE的PC上安装64位Eclipse版本,则保证会发生这种情况。

所以解决方案很简单:你需要通过更新其中一个来使它们同步。当下载Oracle Fusion中间件时,Eclipse需要32位环境,而您的JRE是64位的,并且您的JAVA home指向64位的JDK时,就会发生这种情况。

在我的例子中,我有两个不同的JDK,分别是IBM和Oracle JDK。我把IBM JDK移动到Oracle JDK的环境变量的顶部,然后它工作了。注意:我将使用IBM JDK,所以我升级了。

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

定位eclipse.ini:

通常在C:\Users\xxx\eclipse\jee-neon\eclipse中添加

-vm
 C:\Program Files (x86)\Java\jre7\bin\javaw.exe

--launcher.appendVmargs