ChatGPT解决这个技术问题 Extra ChatGPT

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

我正在尝试第一次使用 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”之后,在这种情况下帮助了我

l
likejudo

您的 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)

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

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

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

如果您使用的是 64 位机器,那么您可以安装 64 位 JDK 并卸载 32 位 JDK。例如,在 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 像冠军一样开始。
D
Dav

我收到此错误并发现我的 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 更新后添加的。
所以.. oracle 不仅删除了我的 java7 路径变量,而且现在使用“ProgramData”?什么?
当您可以将其指向正确的目录时,为什么要删除该条目?
t
tk_

有 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 位)


请注意,可以同时安装 32 位和 64 位 jre。
J
Jaswanth Kumar

如果您最近安装了 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 不匹配。请参阅上面接受的答案。
R
RustyIngles

对我来说,解决方案是进入(在 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。
P
Peter Mortensen

我有同样的问题,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 并更改更新已更改的环境变量。
P
Peter Mortensen

https://i.stack.imgur.com/MWRJ5.png

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

Eclipse 从“C:\ProgramData\Oracle\Java\javapath”中找到 JAVA 可执行文件。文件夹结构将包含以下可执行文件的快捷方式,即。 java.exe 二。 javaw.exe 三。 javaws.exe 对我来说,可执行路径指向我的 Program Files(x86)(32 位应用程序的主目录)文件夹位置,我将其更正为 Program Files(其中包含 64 位应用程序),问题得到解决

请找到相同的屏幕截图。


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

将 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 参数之前解决了这个问题。


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

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


这有一个未解决的问题吗?
P
Peter Mortensen

找到eclipse.ini:

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

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

--launcher.appendVmargs

引起我注意的一个重要注意事项是将路径放在 -vm 的单独行上,如 noted in the documentation
P
Peter Mortensen

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


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

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


S
Saurabh Prakash

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

你必须添加

-vm

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

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

https://i.stack.imgur.com/piV9N.png


有关此解决方案的更多详细信息,请参阅 stackoverflow.com/a/11461676/1756069
P
Peter Mortensen

原来我只安装了 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”
P
Peter Mortensen

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


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

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


如果 java 不在你的机器上,eclipse 怎么能说它已经启动呢?
它对我有用:) 正常更新到 1.8 后,我没有手动安装 JDK。现在一切正常。
@AmitKumar 可能会选择默认浏览器 Java 安装。
P
Peter Mortensen

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

去这里:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载最新的SDK(如果你的电脑是x64,当然是x64的)安装它 现在聚会结束了,是时候了使用 Eclipse ;)


P
Peter Mortensen

我有同样的问题。我使用的是带有 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 是的,你试过了吗
S
Smi

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


这是给我的!我在桌面上有我的 eclipse 文件夹,并且活动用户的用户名中有一个特殊字符。
这已包含在 bello's answer 中,大约在 1/2 年前发布。
P
Peter Mortensen

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

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


确实是我的情况。 32 位和 64 位之间的不匹配是经典的。在我使用 java -version 之前,我什至不记得我是否下载了 64 位版本
S
Siddarth Kanted

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

https://i.stack.imgur.com/FQWLE.png


m
mtyson

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

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


P
Peter Mortensen

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

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

转到环境变量→系统变量

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

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


我做了所有其他解决方案,但它们不适用于我的 Windows 10。无论如何,您的解决方案对我有用并节省了我很多时间.... SALUTE !!!。非常感谢。
P
Peter Mortensen

我尝试了以下解决方案:

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

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


P
Peter Mortensen

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

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

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

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

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

P
Peter Mortensen

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


P
Peter Mortensen

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

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


P
Peter Mortensen

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


P
Peter Mortensen

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

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


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅