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

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

在第一次尝试在没有任何参数的情况下启动Eclipse以指定JavaVM之后,我收到一条错误消息,说它是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%肯定我下载了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=13C:\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
1689207 次浏览

您的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。说明在Eclipse wiki页面中有详细说明,但基本上你必须在ini文件中指定-vm选项-确保仔细阅读wiki页面,因为格式非常具体。

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

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


留给历史参考

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

java -version

在控制台中(命令提示符)。在64位Java6的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)

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

可能是因为内存太少。您可以修改eclipse.ini文件以增加内存。类似的内容可能会对您有所帮助:常见问题如何增加Eclipse可用的堆大小?

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

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

我有同样的问题,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.

这对我很有效。

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

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

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

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

如果您在同一台机器上有多个版本的Java,可能会发生这种情况。为了解决这个问题,我做了以下操作:

  1. 检查当前JAVA_HOME值。在Windows中,回显%JAVA_HOME%
  2. 进入javaw.exe路线
  3. 替换了指向Java家位置的快捷方式。

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

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

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

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

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

C:\ProgramData\Oracle\Java\javapath

…并且Eclipse运行了"C:\ProgramData\Oracle\Java\javapath\javaw"-这给出了错误。我怀疑这是安装Java8附带的东西。

我安装了几个Java版本(6,7和8),所以我从PATH中删除了该条目并尝试重新启动Eclipse,这工作得很好。

如果它不适合您,您需要升级您的JDK(到Java版本-在这种情况下为8)。

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

我刚刚在设置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位。

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

要修复,请安装JavaSE Development Kit 7 Update 71(64位)。然后通过appwiz.cpl,删除其他版本,即JavaUpdate 25。完成。

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

最后,我找到了另一种方法……

转到环境变量系统变量

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

试试看。对我有用…

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

System > Advanced system setting > Environment Variables

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

C:\ProgramData\Oracle\Java\javapath;

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

输入图片描述

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

  1. Eclipse查找JAVA可执行文件'C:\ProgramData\Oracle\Java\javapath'

  2. 文件夹结构将包含以下可执行文件的快捷方式,
    一.java.exe
    二.javaw.exe
    三、javaws.exe

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

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

麻烦找下截图一样的

我有一个x64位JDK。我的路径设置中什么都没有。所以我安装了x86 JDK。这完美地解决了我的问题。

我尝试了以下解决方案:

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

在那之后,我启动了Eclipse,它对我很有效。

如果不起作用,那么您可以尝试的最后一个解决方案是从计算机上完全卸载Java,然后重新安装,并确保路径变量设置正确。

我有这个问题。我通过Chrome安装Java8更新25,然后尝试启动Eclipse给出了上述错误。

卸载该更新,Eclipse再次工作。

我有一个类似的错误后安装Java8在我的Windows 7系统,64位系统。

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

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

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

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

在我的情况下,干净地重新安装了JavaJDK。我现在像魅力一样运行eclipse4.4(Luna)。

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

我也遇到了同样的问题。原来环境变量路径指向了一个不正确的Java版本。

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

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

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

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

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

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

为此添加更多细节

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

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

这种类型的错误主要是由于不同版本的Eclipse使用了不同版本的Java。

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

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

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

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

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

这有助于提高系统的性能。

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

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

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

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

我通过打开命令提示符,cd'ingeclipse.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选项,即使只有一个-vm存在于eclipse.ini.

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

请检查您是否在环境变量部分设置了两个JAVA路径。如果您已经安装了两个版本的JDK,可能是,然后仔细检查您是否为Java设置了PATH,如下所示。

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\

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

找到eclipse.ini:

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

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

之后

--launcher.appendVmargs

有操作系统、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位)
  1. 在系统环境变量下,确保删除“C:\ProgramData\Oracle\Java\javapath”。

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

输入图片描述

冒着没有为现有答案增加大量价值的风险,但我自己经历了所有这些混乱,我想看看我是否可以巩固我如何解决这个问题:

  1. 将开发与您的普通机器环境分开维护。这样做的原因是,您的机器上可能有许多您不知道Java需要偶尔更新的应用程序,例如银行和安全应用程序。当这些更新发生时,它们会更改环境变量,因此如果您在开发环境中使用这些更新,几乎肯定会破坏您的Eclipse设置。

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

  3. 再次安装两个Java运行时,一个32位,一个64位,然后编辑每个安装的eclipse.ini,指向正确的JRE,而不是环境变量中的JRE HOME。我在C:\Java\64bit\jdk1.7.0_15\C:\Java\32bit\etc中创建一个目录,在你的eclipse.ini文件中添加-vmC:\Java\64bit\jdk1.7.0_15\bin行来指向你需要的java运行时。

完成上述操作后,您可以任意安装JavaSDK更新,但您的开发环境永远不会中断。如果您需要更新您的开发运行时环境,只需更改eclipse.ini中的-vm路径

我有同样的问题……安装了STS,但始终收到“java已启动但返回退出代码=13”消息。我的问题是我使用的是默认安装文件,它不是处理器特定的,从https://spring.io/tools/sts开始。我必须深入研究才能非常具体地下载64位版本。你下载的版本并不直观。一旦我得到64位版本(请注意,zip文件的名称中仍然包含“win32”,只是在末尾附加“-64”),它就起作用了。

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

你必须添加

-vm

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

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

在此处输入图片描述

如果您的机器安装了多个Java版本,您可以简单地告诉eclipse使用哪个版本以及从哪里使用javaw.exe.

在我的情况下,我IBMJDK,与甲骨文JDK太,但eclipse拾取,添加下面的行在eclipse.ini文件在eclipse目录和它的工作。

-vmC:/WAS9DEV/java/8.0/bin/javaw.exe

您的java文件夹的路径必须在上面的示例中替换

希望有帮助。

在我的例子中,我有两个不同的JDK,IBM和Oracle JDK。我将IBMJDK移到环境变量中Oracle JDK的顶部,然后它起作用了。注意:我将使用IBMJDK,所以我向上移动了。

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

它为我工作。

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