我正在尝试第一次使用 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
您的 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。单击它,您将找到所有不同的版本。现在您可以选择要卸载哪一个。
我收到此错误并发现我的 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
有 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 位)
如果您最近安装了 Java 8 并卸载了 Java 7,请安装 JDK 8 并重试。
exit code=13
总是是由 Eclipse 和 JVM 之间的位不匹配引起的。人们可以通过多种方式达到这一点,但最终它不是由特定版本的 Java(6 vs. 7 vs. 8)或您使用 JRE 还是 JDK 引起的 - 它总是植根于一点-ness 不匹配。请参阅上面接受的答案。
对我来说,解决方案是进入(在 Windows 8.1 上):
System > Advanced system setting > Environment Variables
在“路径”变量中的“系统变量”下,首先有以下内容:
C:\ProgramData\Oracle\Java\javapath;
我删除了这个,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 中添加了一行。
这对我有用。
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 位应用程序),问题得到解决
请找到相同的屏幕截图。
将 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 参数之前解决了这个问题。
有史以来最奇怪的修复。查看 Eclipse 路径,确保没有奇怪的字符(如 !
、#
和 @
)。它对我有用。
找到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
我卸载了 Java update 25,问题就解决了。
您必须转到安装 eclipse 的文件夹,然后您必须更改 eclipse.ini 文件。
你必须添加
-vm
C:\Program Files\Java\jdk1.8.0_202\bin\javaw.exe
您的 eclipse.ini 文件将如下面的屏幕截图所示
https://i.stack.imgur.com/piV9N.png
原来我只安装了 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”文件夹放在“C:/Program Files”上。如果它不起作用,请将其放入“C:/Program Files (x86)”中。
当我忘记安装 JDK 时,我收到了这条消息。
这里的最佳答案太长了。我无法发表评论,所以我添加了我的答案。
去这里:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载最新的SDK(如果你的电脑是x64,当然是x64的)安装它 现在聚会结束了,是时候了使用 Eclipse ;)
我有同样的问题。我使用的是带有 64 位操作系统的 Windows 8。我只是将路径更改为 Program Files (x86)
,然后它开始工作。我将这一行放在 eclipse.ini 文件中:
-vm
C:\Program Files (x86)\Java\jre7\bin\javaw.exe
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
中的两行吗?
确保 Eclipse 路径中没有特殊字符(%
、$
、#
等)。
如果您在具有 32 位 JRE 的 PC 上安装 64 位 Eclipse 版本,则保证会发生这种情况。
因此解决方案非常简单:您需要通过更新其中任何一个来同步它们。当下载 Oracle Fusion 中间件并且 Eclipse 需要 32 位环境而您的 JRE 是 64 位并且您的 JAVA 主目录指向 64 位 JDK 时,就会发生这种情况。
在系统环境变量下,确保删除“C:\ProgramData\Oracle\Java\javapath”。在系统环境变量下,确保添加了“C:\Program Files\Java\jdk1.8.0_131\bin”。
https://i.stack.imgur.com/FQWLE.png
我有这个问题。我通过 Chrome 安装了 Java 8 update 25,然后尝试启动 Eclipse 的程序给出了上述错误。
卸载该更新,Eclipse 再次运行。
我尝试了一些解决方案,但对我不起作用。
最后,我找到了另一种方法,...
转到环境变量→系统变量
将 C:\Program Files\Java\jdk1.7.0_02\bin\javaw.exe 设置为系统变量中的路径。
试试看。它对我有用...
我尝试了以下解决方案:
我从路径 C:\Program Files\Java\jdk1.7.0_71\bin 创建了 javaw.exe 的快捷方式,并将其粘贴到路径 C:\ProgramData\Oracle\Java\javapath 中。
之后,我启动了 Eclipse,它对我有用。
我也遇到了同样的问题。事实证明,环境变量 Path 指向的 Java 版本不正确。
请检查环境变量并将其指向正确的 Java。例如:
C:\Program Files (x86)\Java\jdk1.6.0_17\bin
要检查环境变量,请转到:
Computer → properties → Advanced system settings → Advanced -> Environment variables
我刚刚在设置我的 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 位。
在我的 Windows 7 系统(64 位系统)上安装 Java 8 后,我遇到了类似的错误。
更改环境变量等没有帮助。所以我试图删除 Java Update 8,但这也没有帮助。下载并安装 64 位版本的 Java 8 SDK 解决了我的问题。我希望这有帮助。
将 JDK 从 1.7 升级到 1.8 后,我遇到了同样的问题。我正在使用 Eclipse 4.4 (Luna)。将 JDK 降级到 1.7 后,该错误消失了。
请检查您是否在环境变量部分设置了两个 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\
如果没有,请这样设置并再次运行。
可能是内存太少了。您可以修改 eclipse.ini 文件以增加内存。这样的事情可能会对您有所帮助:FAQ How do I increase the heap size available to Eclipse?