无法启动Eclipse - Java已启动但​​返回退出代码= 13

问题

我正在尝试使用Eclipse来初次体验Android开发。我在尝试运行Eclipse时遇到了这个问题,仅在几分钟前安装了4.2版本。

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

类似的问题似乎表明这是一个32位/ 64位的冲突,但是我下载了64位版本的Eclipse和Java(RE 7u5),我选择它的64位版本为99%,因为我有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

#1 热门回答(663 赞)

您的Eclipse版本是基于路径和文件名的64位版本。然而,它正在采用的Java版本是32位,正如它来自何处,表明了这一点:

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

 Program Files(x86)是64位Windows所在的文件夹,位于32位程序中。

 Program Files是64位Windows放置64位程序的文件夹。

当系统安装了多个JVM时,可能会发生这种情况,在Windows 64位上经常出现这种情况(例如,JRE下载页面使用浏览器的位宽来确定要提供的位内容,许多人使用(d)32位浏览器,即使他们运行的是64位Windows)。

假设你确实在系统上使用了64位JRE或JDK,解决此问题的最佳方法是在eclipse.ini中指定您希望使用哪个JVM。这些指令在the Eclipse wiki page中有详细说明,但基本上你必须在ini文件中指定-vm选项 - 确保仔细阅读wiki页面,因为格式非常具体。

强烈建议在eclipse.ini中指定JVM路径,因为这样做可以将Eclipse与系统PATH的任何潜在更改隔离开来,以便某些程序安装人员(我正在与您谈谈,Oracle!)进行更改。

另一种选择是下载和使用32位Eclipse而不是64位,但仍然强烈建议在eclipse.ini中指定JVM的路径。

留待历史参考:

要检查您的Java版本,请运行

java -version

在控制台(命令提示符)中。在具有64位Java 6的Windows 7上,我得到:

java version "1.6.0_27"
  Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
  Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

请注意第三行,这表明这是一个64位版本。

在32位版本中,您会得到如下所示的内容:

Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

#2 热门回答(225 赞)

我收到此错误,发现我的PATH变量(在Windows上)可能已更改。首先在我的PATH中是这个条目:

C:\ProgramData\Oracle\Java\javapath

...和Eclipse运行``C:\ ProgramData \ Oracle \ Java \ javapath \ javaw“` - 这给了错误。我怀疑这是随着Java 8的安装而来的。

我安装了几个Java版本(6,7和8),因此我从PATH中删除了该条目,并尝试重新启动Eclipse,这很好。
Instructions on how to edit PATH variable


#3 热门回答(178 赞)

如果您最近安装了Java 8并卸载了Java 7,请安装JDK 8并重试。