【问题标题】:Can't start Eclipse - Java was started but returned exit code=13无法启动 Eclipse - Java 已启动但返回退出代码 = 13
【发布时间】:2014-02-05 17:56:33
【问题描述】:

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

【问题讨论】:

  • "Program Files (x86)" 是 Windows 近来倾向于放置 32 位内容的地方。我不确定如何检查您的 Java 版本,但您可以随时卸载并重新下载。
  • @user1522092 你到底是怎么访问错误消息文本的?在我的电脑上无法复制,我必须在键盘上输入...
  • @TomášZato 选择该错误消息并使用快捷键 - Ctrl + C。它将被复制。
  • 由于自动 Java 更新,也可能“突然”发生类似的错误。 DNA's answer 在这种情况下帮助了我,在我(重新?)将 32 位 JDK 安装到没有空格的目录中并在 eclipse.ini 中指定“-vm C:\path_to_jdk\javaw.exe”之后

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


【解决方案1】:

根据路径和文件名,您的 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 时会发生这种情况,这在 64 位 Windows 上很常见(例如,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版本

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

java版本“1.6.0_27” Java(TM) SE 运行时环境 (build 1.6.0_27-b07) Java HotSpot(TM) 64 位服务器 VM(内部版本 20.2-b06,混合模式)

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

在 32 位版本上,您将获得如下内容:

Java HotSpot(TM) Client VM(build 20.1-b02,混合模式,共享)

如果您使用的是 64 位机器,那么您可以安装 64 位 JDK 并卸载 32 位。例如,在 Windows 10 上,只需转到“设置”并在“应用程序”下找到 Java。单击它,您将找到所有不同的版本。现在你可以选择卸载哪一个了。

【讨论】:

  • 第三条评论帮助了我。我不明白“Java HotSpot(TM) Client VM(build 20.1-b02,混合模式,共享)”到底是什么。现在我知道我必须下载 java-64bit
  • 那么我们如何让 Eclipse 使用正确的 Java 可执行文件/版本?
  • 答案展示了如何找出已安装的Java版本。缺少的是需要什么Java版本!
  • @ingomueller.net 所需的位取决于下载的 Eclipse 位。
  • 我将 64 位 Java 版本的路径移到列表顶部,将 32 位版本的路径移到最后。现在 Eclipse 像冠军一样开始了。
【解决方案2】:

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

【讨论】:

  • 我刚刚发现了这个问题,并注意到在我的 PATH 环境变量前面添加了相同的路径。我昨天刚刚安装了 VirtualBox,所以我认为这是罪魁祸首。
  • 我遇到了同样的问题并尝试了不同的选项,但只有在从 PATH 变量中删除条目“C:\ProgramData\Oracle\Java\javapath”后才解决了这个问题。好收获!
  • 伟大的收获!伙计们检查您的 Env.PATH 变量并删除此 C:\ProgramData\Oracle\Java\javapath;...我猜它是在 JRE8 更新后添加的。
  • so.. oracle 不仅删除了我的 java7 路径变量,而且现在使用“ProgramData”? wtf?
  • 当您可以将条目指向正确的目录时,为什么要删除它?
【解决方案3】:

有操作系统、JDK 和 Eclipse 位数的工作组合。就我而言,我在 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 位)

【讨论】:

  • 请注意,安装 32 位和 64 位 jre 都可以。
【解决方案4】:

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

【讨论】:

  • 这对我有用。我安装了 Java 8(我有 J7),但我忘记安装 JDK8。所以我做到了,然后“瞧”。谢谢!
  • 这在安装 Java 8 后对我有用,即使我从未卸载过任何其他版本的 java。
  • Mansour - 在 Java 8 中,Oracle 将先前版本的卸载与安装捆绑在一起。如果您在安装时选择了该选项,卸载可能会一无所获。
  • 我实际上只需要运行时拒绝安装 SDK。
  • 需要明确的是,exit code=13总是是由 Eclipse 和 JVM 之间的位不匹配引起的。人们可以通过多种方式达到这一点,但最终它不是由特定版本的 Java(6 vs. 7 vs. 8)或您使用 JRE 还是 JDK 引起的 - 它总是植根于一点-ness 不匹配。请参阅上面接受的答案。
【解决方案5】:

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

System > Advanced system setting > Environment Variables 

在“路径”变量中的“系统变量”下首先有以下内容:

C:\ProgramData\Oracle\Java\javapath;

我删除了这个,Eclipse 又开始工作了!

【讨论】:

  • 在 Windows 7 上也工作过,似乎 Java 8 的安装搞乱了环境变量。
  • 这对我有用(Win7 x64)。我怀疑这个条目是在为 Firefox 安装 32 位 jre 8 后添加的。
  • 谢谢你!我有操作系统(win7 x64),这个解决方案提示 eclipse 启动!
  • 完美的工作就像一个魅力:) 在 Windows 8 64 位中为我工作
  • 我也做了同样的事情,我只是把 'C:\ProgramData\Oracle\Java\javapath;'在我的“路径”的末尾(最后一个条目),所以 Eclipse 在“错误”之前找到“正确”的 JVM。
【解决方案6】:

我遇到了同样的问题,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 中添加了一行。

这对我有用。

【讨论】:

  • 我更新了java,所以java更新改变了环境。可变值,固定环境。变种。值,所以它开始工作了。
  • 感谢 Mohit,我也更新了 firefox 的 java 并且路径变量更新为 C:\ProgramData\Oracle\Java\javapath; .因此,eclipse没有被初始化。再次感谢。
  • 谢谢Katusepi ...在我的情况下它就像一个魅力...但我想知道在没有我(管理员)权限的情况下环境变量如何在Windows中更改.. !!!
  • 同样的问题,路径不正确
  • 谢谢,这为我节省了很多时间。在我这边,我必须安装 64 位 jdk 并更改更新已更改的环境变量。
【解决方案7】:

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

  1. Eclipse 从 'C:\ProgramData\Oracle\Java\javapath'

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

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

  4. 我将其更正为 Program Files(其中包含 64 位应用程序),问题得到解决

请找到相同的屏幕截图。

【讨论】:

  • 这意味着这是*答案中提到的 32 位与 64 位的问题。 :) 虽然干杯
  • 提到的这些文件是在我的 PC 上创建或更改的,是 Oracle 的最后一次更新 - 使其无法正常工作!那真的不应该是...... 32位更新只是默默地删除了64位安装
  • 如何将其更改为 64 位程序文件?我右键单击 java.exe > 属性 > 快捷方式选项卡。目标字段无法更改。
  • 您只需删除 32 位文件并从 64 位路径(在程序文件中)复制相同的文件
  • 您只需删除 32 位文件并从 64 位路径(在 Program files\Common Files\Oracle\Java\javapath 内)复制相同的文件
【解决方案8】:

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

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

【讨论】:

  • 我的情况是 Tomcat 服务器(在 eclipse 中)没​​有从之前的运行中正确停止。所以,我不得不从 Windows 任务管理器中杀死 eclipse。此后日食不再开始。当我添加这个解决方案时,它又开始工作了。看起来很奇怪,但这确实是解决办法。
【解决方案9】:

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

【讨论】:

  • 这有未解决的问题吗?
【解决方案10】:

找到eclipse.ini:

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

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

之后

--launcher.appendVmargs

【讨论】:

【解决方案11】:

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

【讨论】:

  • 那可能是因为您使用的是jdk 1.7,并且浏览器插件已经安装了java 8 update 25,用于视频。如果您将 jdk 升级到 1.8,在这种情况下,此错误将消失。要么升级jdk,要么卸载插件。奇怪的解决方案。
  • 我更新了我的 java 版本,因为浏览器插件需要更新。无论如何它都不起作用,我最终没有让 Eclipse 完全正常工作。太烂了!
【解决方案12】:

在我的情况下,干净地重新安装 Java JDK 就可以了。我现在像魅力一样运行Eclipse 4.4 (Luna)。

【讨论】:

    【解决方案13】:

    你必须去安装eclipse的文件夹,然后你必须更改eclipse.ini文件。

    你必须添加

    -vm

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

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

    【讨论】:

    【解决方案14】:

    原来我只安装了 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\
    

    【讨论】:

    • 也许你的意思是“jre-8u45-windows-x64.exe”而不是“jdk-8u45-windows-x64.exe”
    【解决方案15】:

    解决方法很简单:将“eclipse”文件夹放在“C:/Program Files”上。如果不行,把它放到“C:/Program Files (x86)”中。

    【讨论】:

    • 此解决方案以及删除完整路径并仅使用“Javaw.exe”对我有用。
    • 如果您正在使用托管 Windows 实例,请注意此解决方案。大多数 IT/Sec 域都将 Program Files 目录树锁定以进行 fubars eclipse 的写访问。
    • 我在使用 Lua 开发工具时遇到了同样的问题,这个解决方案对我有用!
    【解决方案16】:

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

    【讨论】:

    • 如果java不在你的机器上,eclipse怎么能说java已经启动了?
    • 它对我有用 :) 正常更新到 1.8 后,我没有手动安装 JDK。现在一切正常。
    • @AmitKumar 可能选择了默认浏览器 Java 安装。
    【解决方案17】:

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

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

    【讨论】:

      【解决方案18】:

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

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

      【讨论】:

      • 我是 64 位的。当我为 64 位安装 jdk1.8.0_20 时,它要求我重新启动。我做到了。它在Program Files (x86) 中留下了一个JRE,在64 位Program Files 中只留下了一个DLL(没有javaw.exe),所以我将-vm 指向Program Files (x86)。我仍然得到code=13。有了这个ashout.com/fix-java-started-returned-exit-code13-eclipse,我意识到位版本“应该”匹配是或是。所以我第二次运行相同的 JDK 安装程序。令人惊讶的是,它部署了第一次丢失的新文件。现在它可以与C:\Program Files\Java\jdk1.8.0_20\bin\javaw.exe 中的-vm 一起使用。
      • 文件eclipse.ini中真的有两行吗?
      • @PeterMortensen 是的,你试过了吗
      【解决方案19】:

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

      【讨论】:

      • 这是给我的!我在桌面上有我的 eclipse 文件夹,并且活动用户的用户名中有一个特殊字符。
      • 这已经被bello's answer 覆盖,大约在 1/2 年前发布。
      【解决方案20】:

      如果您在具有 32 位 JRE 的 PC 上安装 64 位 Eclipse 版本,这肯定会发生。

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

      【讨论】:

      • 确实是我的情况。 32 位和 64 位之间的不匹配是经典的。在我使用 java -version 之前,我什至不记得我是否下载了 64 位版本
      【解决方案21】:
      1. 在系统环境变量下,确保删除“C:\ProgramData\Oracle\Java\javapath”。

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

      【讨论】:

        【解决方案22】:

        我遇到了这个问题。我通过 Chrome 安装了 Java 8 update 25,然后尝试启动 Eclipse 的程序给出了上述错误。

        卸载该更新,Eclipse 再次运行。

        【讨论】:

          【解决方案23】:

          我尝试了一些解决方案,但对我不起作用。

          终于,我找到了另一种方式,...

          转到环境变量系统变量

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

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

          【讨论】:

          • 我做了所有其他解决方案,但它们不适用于我的 Windows 10。无论如何,您的解决方案对我有用并节省了我很多时间.... 敬礼!!​​!。非常感谢。
          【解决方案24】:

          我尝试了以下解决方案:

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

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

          【讨论】:

            【解决方案25】:

            我也遇到了同样的问题。结果发现环境变量 Path 指向的 Java 版本不正确。

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

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

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

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

            【讨论】:

              【解决方案26】:

              我刚刚在设置我的 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 位 Eclipse 中使用 64 位 JRE。只需确保它们匹配,因为 Windows 8.1 默认为您提供 32 位。

              【讨论】:

                【解决方案27】:

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

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

                【讨论】:

                  【解决方案28】:

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

                  【讨论】:

                    【解决方案29】:

                    请检查您是否在环境变量部分设置了两个 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\
                    

                    如果没有,请这样设置并再次运行。

                    【讨论】:

                    • 请注意 jdk 路径对我不起作用,它必须是 jre
                    【解决方案30】:

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

                    【讨论】: