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

时间:2012-07-12 22:23:32

标签: java android windows eclipse 32bit-64bit

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

首次尝试启动Eclipse而没有任何参数来指定Java VM后,我收到一条错误消息,说明couldn't find a Java VM called javaw.exe inside the Eclipse folder,所以我找到了安装Java的位置并将该位置指定为参数快捷方式的目标。现在我收到了一个不同的错误Java was started but returned exit code=13

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

44 个答案:

答案 0 :(得分:708)

您的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选项 - 请务必仔细阅读维基页面,因为格式非常具体。

强烈建议在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)

注意第3行,它表明这是64位版本。

在32位版本上,你会得到类似的东西:

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

答案 1 :(得分:238)

我收到此错误,发现我的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)。

Instructions on how to edit PATH variable

答案 2 :(得分:179)

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

答案 3 :(得分:166)

有OS,JDK和Eclipse bitness的组合。就我而言,我在64位操作系统上使用64位JDK和32位Eclipse。在将JDK降级到32位后,Eclipse开始工作。

请使用以下组合之一。

  • 32位操作系统,32位JDK,32位Eclipse(仅限32位)
  • 64位操作系统,32位JDK,32位Eclipse
  • 64位操作系统,64位JDK,64位Eclipse(仅限64位)

答案 4 :(得分:117)

对我来说,解决方案是进入(在Windows 8.1上):

System > Advanced system setting > Environment Variables 

在“Path”变量的“系统变量”下,首先出现以下内容:

C:\ProgramData\Oracle\Java\javapath;

我删除了这个,Eclipse再次工作了!

答案 5 :(得分:63)

我遇到了同样的问题, Java已启动但​​返回退出代码= 13

我的解决方案是为Windows属性创建一个环境变量变量名 = PATH 变量值 = C:\ Program Files \ Java \ jdk1.7.0_02 \ bin ,而不是 C:\ Program Files(x86)\ Java \ jre7 \ bin

接下来,我在文件eclipse.ini→C:\ Program Files \ Java \ jdk1.7.0_02 \ bin \ javaw.exe中添加了一行。

这对我有用。

答案 6 :(得分:23)

enter image description here

通过执行以下步骤解决了该问题。

  1. Eclipse从中找到JAVA可执行文件 'C:\ ProgramData \甲骨文\爪哇\ javapath'

  2. 文件夹结构将包含以下可执行文件的快捷方式,
    一世。 java.exe
    II。 javaw.exe
    III。 javaws.exe

  3. 对我来说,可执行路径指向我的程序文件(x86)(32位应用程序的主页)文件夹位置

  4. 我已将其更正为程序文件(其中包含64位应用程序)并且问题已得到解决

  5. 请找到相同的屏幕截图。

答案 7 :(得分:21)

有史以来最奇怪的修复。查看Eclipse路径,确保没有奇怪的字符(例如!#@)。它对我有用。

答案 8 :(得分:20)

为.ini文件添加vm参数为我工作

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

答案 9 :(得分:10)

在我的案例中,干净地重新安装了Java JDK。我现在正在运行Eclipse 4.4(Luna)魅力。

答案 10 :(得分:10)

找到eclipse.ini:

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

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

--launcher.appendVmargs

答案 11 :(得分:10)

我卸载了Java更新25,问题解决了。

答案 12 :(得分:9)

事实证明我只安装了32位Java运行时。

C:\Program Files (x86)\Java\jre1.8.0_45\

所有Eclipse真正想要的是我安装64位Java运行时。 < =已解决

Java SE Runtime Environment 8u45  jdk-8u45-windows-x64.exe

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

Confirm your installation by checking you now have this folder

    C:\Program Files\Java\jre1.8.0_45\

答案 13 :(得分:9)

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

答案 14 :(得分:8)

解决方案很简单:将“eclipse”文件夹放在“C:/ Program Files”上。如果它不起作用,请将其放在“C:/ Program Files(x86)”中。

答案 15 :(得分:8)

这里最好的答案太长了。我无法评论,所以我添加了答案。

  1. 去这里: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 下载最新的SDK(当然,如果您的计算机是x64,则为x64)
  3. 安装
  4. 现在聚会已经结束了,现在是时候使用Eclipse了;)

答案 16 :(得分:7)

我遇到了同样的问题。我使用的是Windows 8和64位操作系统。我刚刚将路径更改为Program Files (x86)然后就开始工作了。我把这行放在eclipse.ini文件中:

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

答案 17 :(得分:6)

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

因此解决方案非常简单:您需要通过更新任何一个来同步它们。当下载Oracle Fusion中间件并且Eclipse期望32位环境而JRE为64位并且您的JAVA主目录指向64位JDK时,就会发生这种情况。

答案 18 :(得分:6)

  1. 在系统环境变量下,确保删除“C:\ ProgramData \ Oracle \ Java \ javapath”。

  2. 在系统环境变量下,确保添加“C:\ Program Files \ Java \ jdk1.8.0_131 \ bin”。

  3. enter image description here

答案 19 :(得分:6)

确保您在Eclipse路径中没有特殊字符(%$#等。

答案 20 :(得分:5)

我尝试了一些解决方案,但不适合我。

最后,我找到了另一种方式,......

转到环境变量系统变量

C:\ Program Files \ Java \ jdk1.7.0_02 \ bin \ javaw.exe 设置为系统变量中的路径。

试试吧。它对我有用......

答案 21 :(得分:5)

我尝试了以下解决方案:

我从路径 C:\ Program Files \ Java \ jdk1.7.0_71 \ bin 创建了javaw.exe的快捷方式,并将其粘贴到路径 C:\ ProgramData \ Oracle \爪哇\ javapath

之后,我启动了Eclipse,它对我有用。

答案 22 :(得分:5)

我有这个问题。我通过Chrome安装了Java 8更新25,之后尝试启动Eclipse时出现了上述错误。卸载了该更新,Eclipse再次运行。

答案 23 :(得分:5)

我也遇到了同样的问题。事实证明,环境变量 Path 指向了不正确的Java版本。

请检查环境变量并将其指向正确的Java。例如:

C:\Program Files (x86)\Java\jdk1.6.0_17\bin

要检查环境变量,请转到:

Computer → properties → Advanced system settings → Advanced -> Environment variables

答案 24 :(得分:4)

请检查您是否在环境变量部分中设置了两个JAVA路径。如果你已经安装了两个版本的JDK,那么可能是,然后仔细检查你是否已经把PATH for Java放在了下面。

PATH -->  C:\ProgramData\Oracle\Java\javapath

以及

JAVA_HOME ---> C:\Program Files\Java\jdk1.7.0_02\bin

如果两者都存在,那么可能会发生这种错误。

如果没问题,请检查" .ini"文件以下区域是否可以。 打开" .ini"文件并检查

 -VM  path is  C:\Program Files\Java\jdk1.7.0_79\bin\

如果没有,请将其设置为并再次运行。

答案 25 :(得分:4)

这可能是由于记忆太少。您可以修改eclipse.ini文件以增加内存。这样的事情可能会对您有所帮助: FAQ How do I increase the heap size available to Eclipse?

答案 26 :(得分:4)

在我的Windows 7系统,64位系统上安装Java 8后,我遇到了类似的错误。

更改环境变量等没有帮助。所以我试图删除Java Update 8,但这也没有帮助。下载并安装64位版本的Java 8 SDK解决了我的问题。我希望这会有所帮助。

答案 27 :(得分:4)

我刚刚在设置Windows 8.1 PC时解决了同样的问题。完全像上面提到的@George Papatheodorou(抱歉我不能添加注释),Eclipse和JRE必须是64位或32位。

但是,对于Windows 8 / 8.1环境,默认情况下您将获得32位JRE(我不知道在哪里更改下载的默认值),如下所述:http://java.com/en/download/faq/win8_faq.xml

我使用的是64位Eclipse,因此存在差异。然后我安装了32位Eclipse,这次一切正常。

因此,在更改任何环境变量之前,请检查您的JRE和Eclipse版本。

当然,您可以将64位JRE与64位Eclipse配合使用。只需确保它们匹配,因为Windows 8.1默认会为您提供32位。

答案 28 :(得分:4)

我将JDK从1.7升级到1.8后出现了同样的问题。我正在使用Eclipse 4.4(Luna)。将JDK降级为1.7后错误消失。

答案 29 :(得分:3)

这种类型的错误基本上是由于在不同版本的Eclipse中使用不同版本的Java。

假设您在系统上安装64位JDK。然后确保使用它安装64位版本的Eclipse。

如果要在系统上安装32位JDK,请确保使用它安装32位版本的Eclipse。

我遇到了类似的问题。我安装了32位JDK,并尝试使用64位Eclipse。

但是当我在我的系统上安装64位JDK时,Eclipse开始工作没有任何问题。

建议在具有32位配置的系统上更好地安装32位版本的Java以及32位版本的Eclipse,对于64位系统也是如此。

这有助于提高系统性能。

答案 30 :(得分:3)

在“路径”变量中已删除 “ C:\ ProgramData \ Oracle \ Java \ javapath”并将其替换为“ C:\ Program Files \ Java \ jdk1.8.0_212 \ bin”

对我有用。

答案 31 :(得分:2)

如果没有任何效果,那么您可以尝试的最后一个解决方案是从您的计算机中完全卸载Java,然后再次安装它,并确保正确设置路径变量。

答案 32 :(得分:2)

我有一个x64位JDK。我的路径设置中没有任何内容。所以我安装了x86 JDK。这完全解决了我的问题。

答案 33 :(得分:2)

冒着不给现有答案增加很多价值的风险,但我自己经历了所有这些混乱,我想看看我能否巩固我如何解决问题:

  1. 保持与正常机器环境不同的开发。原因是您的计算机上可能运行的应用程序很多,您不知道需要偶尔更新Java,例如银行和安全应用程序。当这些更新发生时,它们会更改环境变量,因此如果您在开发环境中使用这些更新,则更新几乎肯定会破坏您的Eclipse设置。

  2. 安装Eclipse的版本,32位和64位,具体取决于您的插件等。原因是许多插件仍然需要32位,并且尝试将它们安装到64位环境中会导致许多模糊(非常模糊)的错误。这意味着您可能必须为Java EE,PHP,Python,汇编程序等开发环境提供单独的Eclipse实例。这可能看起来很麻烦,但对我来说这是一种祝福。

  3. 再次安装两个Java运行时一个32位和一个64位,然后为每个安装编辑eclipse.ini以指向正确的JRE,环境中的JRE HOME变量。我在C:\Java\64bit\jdk1.7.0_15\C:\Java\32bit\etc中创建了一个目录,并在eclipse.ini文件中添加-vm C:\Java\64bit\jdk1.7.0_15\bin行以指向所需的Java运行时。

  4. 完成上述操作后,您可以根据需要安装Java SDK更新,但您的开发环境永远不会中断。如果需要更新开发运行时环境,只需更改eclipse.ini

    中的-vm路径即可

答案 34 :(得分:2)

如果您在同一台计算机上安装了多个版本的Java,则可能会发生这种情况。为了解决这个问题,我做了以下几点:

  1. 检查当前的JAVA_HOME值。在Windows中,回显%JAVA_HOME%
  2. 访问javaw.exe
  3. 的路由
  4. 替换了指向Java主页位置的快捷方式。

答案 35 :(得分:1)

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

答案 36 :(得分:1)

如果您的计算机安装了多个Java版本,则只需告诉eclipse哪个地方以及从哪个地方使用javaw.exe。

在我的情况下,我也有IBM JDK,也有oracle JDK,但是为了获取eclipse,在eclipse目录的 eclipse.ini 文件中的以下行中添加了它。

-vm
C:/WAS9DEV/java/8.0/bin/javaw.exe

在上面的示例中,必须替换到Java文件夹的路径

希望有帮助。

答案 37 :(得分:1)

我遇到了同样的问题。我安装了版本8并更新了25位32位。

要修复,请安装Java SE Development Kit 7 Update 71(64位)。然后通过appwiz.cpl删除另一个版本,即Java Update 25.完成。

答案 38 :(得分:1)

最重要的答案对我没有用处:我没有定义Java路径的环境变量或路径中没有Java。

但是,路径C:\ ProgramData \ Oracle \ Java \ javapath \ javaw.exe始终出现在-vm选项的Eclipse 4.5(Mars)错误弹出窗口中,即使我试图覆盖文件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选项出现两次,即使只有一个{{1}在eclipse.ini中出现。

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

答案 39 :(得分:1)

我已经通过安装JDK(v7更新80)解决了这个问题,而我之前只安装了JRE。

注意:这是IBM的RTC软件(基于Eclipse构建)。

答案 40 :(得分:0)

您必须转到eclipse的安装文件夹,然后必须更改eclipse.ini文件。

您必须添加

-vm

C:\ Program Files \ Java \ jdk1.8.0_202 \ bin \ javaw.exe

您的eclipse.ini文件将如下图所示

enter image description here

答案 41 :(得分:0)

就我而言,我有两个不同的JDK,分别是IBM和Oracle JDK。我将IBM JDK放在环境变量中的Oracle JDK的顶部,然后它起作用了。注意:我将使用IBM JDK,所以我上了。

答案 42 :(得分:0)

可能是JDK组合问题或JDK版本问题,请选择适当的问题。我正在使用64位操作系统,64位JDK,64位Eclipse IDE的组合。

答案 43 :(得分:-1)

我遇到了同样的问题...安装了STS,但始终得到“java已启动但​​返回退出代码= 13”消息。我的问题是我使用的是https://spring.io/tools/sts的默认安装文件,该文件不是特定于处理器的。我不得不更深入地下载64位版本。您下载的是哪个版本并不直观。一旦我得到了64位版本(请注意,zip文件在名称中仍然包含'win32',只需在结尾附加'-64')就可以了。