好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
无法启动Eclipse - Java was started but returned exit code=13 关闭 返回上一级  

无法启动Eclipse - Java was started but returned exit code=13
+ 查看更多

发布日期:2018-03-10 11:50
分类:JAVA
浏览次数:416
这是我第一次尝试使用Ecilipse进行Android开发。然而几分钟前当我试图运行Eclipse的时候,我便遇到了这个问题。
由于没有任何参数指定Java VM(Java虚拟机),在我第一次启动Eclipse时我收到一条错误消息,指出在Eclipse文件夹中找不到名为javaw.exe的Java VM。所以我找到Java的安装目录,并进行了文件路径的配置。然而当我再次启动Eclipse时,我收到了一个不同的错误,” Java已启动开始,但返回退出代码= 13”。
我在浏览器中搜索到的一些类似的问题表示这是由于32位/ 64位冲突。但是我有99%的把握确定我下载的Eclipse和Java(RE7u5)都是64位的版本,因为我的电脑是64位的Windows 7操作系统。
如果有任何人知道如何确认我的Eclipse和Java确实是64位的,那我将不胜感激。或者您认为我问题并不是由于32位/ 64位冲突,那么请您帮助我!
因为我完全是Eclipse和Java的新手,所以请您尽可能清楚地说出原因以及我该怎么做。这是相关文件在我电脑中的位置:
Shortcut Target: "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下载页面通常使用浏览器的位数版本来确定应该为您提供的多少位的下载,而即使许多人的电脑是64位的系统,他们依然使用32位的浏览器)。
解决这个问题的最好办法是,假设您在系统上实际上有64位JRE或JDK,最好在eclipse.ini中指定你希望它使用的JVM的路径。这些指令在Eclipse的wiki页面( the Eclipse wiki page)中有详细的说明,而一般来说,您必须在ini文件中指定-vm选项。而wiki页面中的格式说明非常具体,您最好确保您仔细地阅读过。
我强烈建议您在eclipse.ini中指定JVM路径,因为这样做会使Eclipse与一些潜在的能够改变您的系统PATH的安装程序隔离开来。
而另一种解决的方法就是您下载并使用32位Eclipse,不过我不是很推荐这种方法,我仍强烈建议您在eclipse.ini中指定JVM的路径。
下面是进行版本检查的参考:
要检查您的Java版本,请在控制台(命令提示符)中运行
java -version
我使用的是Windows 7的64位Java 6,所以我得到:
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)
上一篇HashMap,LinkedHashMap和TreeMap之间的区别
在Java中读取纯文本文件下一篇
下一篇在Java中读取纯文本文件

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号