1020

我正在尝试第一次使用 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 和 的 64 位版本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
4

44 回答 44

766

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

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

另一种选择是下载并使用 32 位 Eclipse 而不是 64 位,但仍然强烈建议在eclipse.ini.


留作历史参考

要检查您的 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 位 JDK。例如,在 Windows 10 上,只需转到“设置”并在“应用程序”下找到 Java。单击它,您将找到所有不同的版本。现在您可以选择要卸载哪一个。

于 2012-07-12T22:29:51.610 回答
257

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

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

于 2014-11-03T07:20:05.400 回答
226

有 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 位)
于 2017-01-03T10:54:34.317 回答
182

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

于 2014-10-30T14:06:09.443 回答
124

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

System > Advanced system setting > Environment Variables 

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

C:\ProgramData\Oracle\Java\javapath;

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

于 2014-12-03T07:03:49.027 回答
66

我有同样的问题,Java 已启动但返回 exit code=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 中添加了一行。

这对我有用。

于 2013-01-23T09:22:18.927 回答
26

在此处输入图像描述

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

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

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

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

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

请找到相同的屏幕截图。

于 2014-12-13T18:20:19.357 回答
25

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

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

为此添加更多细节

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

于 2015-03-16T13:52:48.527 回答
23

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

于 2012-12-04T10:50:27.413 回答
13

找到eclipse.ini:

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

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

--launcher.appendVmargs
于 2016-10-25T01:31:28.550 回答
11

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

于 2014-10-21T06:22:19.487 回答
11

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

于 2015-02-13T12:46:23.380 回答
11

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

你必须添加

-vm

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

您的 eclipse.ini 文件将如下面的屏幕截图所示

在此处输入图像描述

于 2019-04-05T10:27:36.700 回答
10

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

于 2012-10-25T01:44:14.917 回答
10

原来我只安装了 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\
于 2015-06-22T02:51:26.723 回答
9

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

  1. 去这里: http ://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 下载最新的 SDK(如果您的计算机是 x64,当然适用于 x64)
  3. 安装它
  4. 现在聚会结束了,是时候使用 Eclipse 了;)
于 2015-02-10T09:13:09.017 回答
9

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

于 2015-02-21T13:49:43.230 回答
7

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

-vm
 C:\Program Files (x86)\Java\jre7\bin\javaw.exe
于 2014-08-07T05:37:57.500 回答
6

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

于 2013-05-27T10:15:28.677 回答
6

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

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

于 2014-10-23T08:49:29.153 回答
6
  1. 在系统环境变量下,确保删除“C:\ProgramData\Oracle\Java\javapath”。

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

在此处输入图像描述

于 2017-11-04T08:21:14.230 回答
5

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

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

转到环境变量系统变量

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

尝试一下。它对我有用...

于 2014-11-24T06:35:15.760 回答
5

我尝试了以下解决方案:

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

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

于 2014-12-18T10:17:11.860 回答
5

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

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

于 2015-01-06T22:58:04.390 回答
5

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

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

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

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

Computer → properties → Advanced system settings → Advanced -> Environment variables
于 2015-03-13T07:35:59.320 回答
4

可能是内存太少了。您可以修改 eclipse.ini 文件以增加内存。类似这样的内容可能会对您有所帮助:FAQ 如何增加 Eclipse 可用的堆大小?

于 2012-07-12T22:38:24.783 回答
4

我刚刚在设置我的 Windows 8.1 PC 时解决了同样的问题。就像上面提到的@George Papatheodorou(对不起,我无法添加评论)一样,Eclipse 和 JRE 必须都是 64 位或 32 位的。

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

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

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

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

于 2014-11-06T16:28:14.757 回答
4

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

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

于 2015-01-23T13:59:42.083 回答
4

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

于 2015-02-08T17:10:40.450 回答
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\

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

于 2016-09-26T08:55:40.967 回答
4

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

它对我有用。

于 2020-02-04T11:50:43.637 回答
3

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

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

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

我有类似的问题。我已经安装了 32 位 JDK 并尝试使用 64 位 Eclipse。

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

建议在具有 32 位配置的系统上更好地安装 32 位版本的 Java 和 32 位版本的 Eclipse,同样适用于 64 位系统。

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

于 2015-07-26T19:48:31.223 回答
2

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

  1. 检查当前的 JAVA_HOME 值。在 Windows 中,回显%JAVA_HOME%
  2. 访问javaw.exe的路由
  3. 替换了指向 Java 主位置的快捷方式。
于 2014-10-21T16:01:45.470 回答
2

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

于 2014-12-15T18:30:09.887 回答
2

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

于 2014-12-26T09:03:43.967 回答
2

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

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

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

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

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

于 2017-12-27T02:39:52.570 回答
2

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

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

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

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

希望能帮助到你。

于 2019-08-24T18:12:49.323 回答
1

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

于 2014-10-27T15:53:33.543 回答
1

我面临着同样的问题。我已经安装了版本 8 并更新了 25 32 位。

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

于 2014-11-18T14:38:00.353 回答
1

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

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

于 2016-01-21T22:11:43.313 回答
1

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

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

我通过打开命令提示符来解决这个问题,cd'ing 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 进行任何更改。

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

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

于 2016-05-27T07:51:02.290 回答
0

就我而言,我有两个不同的 JDK,即 IBM 和 Oracle JDK。我将 IBM JDK 移动到环境变量中的 Oracle JDK 的顶部,然后它起作用了。注意:我打算使用 IBM JDK,所以我向上移动了。

于 2019-09-30T10:29:55.893 回答
0

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

于 2020-05-14T20:55:22.940 回答
-1

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

于 2018-02-27T03:21:45.943 回答