我只是追加 虚拟机 C:\Program Files\Java\jre6\bin\javaw.exe

在eclipse.ini中,然后我尝试再次启动eclipse,并得到这个错误。告诉我怎么解或者链接能解出来。

这是eclipse。ini

-startup 
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
 --launcher.library
 plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 
-showsplash
 org.eclipse.platform
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction 
openFile 
-vm 
C:\Program Files\Java\jre6\bin\javaw.exe
-vmargs 
-Xms40m 
-Xmx384m

谢谢你!


当前回答

我在安装了32位和64位java的ubuntu上出现了这个错误。使用

sudo update-alternatives --config java

将正确的版本设置为默认版本。

其他回答

最近我也遇到了同样的问题。我的eclipse版本不支持java版本8。

我不小心在我的机器上安装了jre 8,它通过在开始时附加“C:\ProgramData\Oracle\Java\javapath”来自动更新我的PATH变量,这导致eclipse选择这个版本(并忽略手动添加的1.6版本,它是后来的顺序),并崩溃退出代码13。

我只是从路径中删除了这个字符串,从而导致系统选择我的旧版本,eclipse开始正常。

请看消息框的第二行。在这里,您可以看到实际上启动了哪个java运行时。我的突然变成了C:\ProgramData\Oracle\Java\javapath\javaw.exe。这发生在我安装了“chrome java更新器”之后(chrome浏览器抱怨说:“你的java已经过时了,你必须更新……”)。

Before this "chrome java update" my eclipse (luna jee x64) started without error. Looking closer to the background I detected following: the chrome java updater (notabene started from an Oracle site) added C:\ProgramData\Oracle\Java\javapath in front of the env var PATH. It contains three symbolic links to the newest java 8 JRE installation in (x86) program folder -> hence to a 32 bit java JRE. Oracle replaces with Java8 the old technique having the symlinks in system32 (64bit) resp. SysWOW64 (32bit).

Meanwhile I learned. Whatever java installer you have executed last (the *.exe) leads windows to remember that java flavour (32b or 64b), with the result that after an update the links in C:\ProgramData\Oracle\Java\javapath point to a java installation of the remembered flavour. If you have a 64b eclipse installation and encounter the described error: just re-install the newest 64b JDK. After that the java updates do no more link to a 32b version. And eclipse 64b will start correctly without the entry in eclipse.ini .

我刚刚也碰到了这个。结果证明,至少对我来说,这是因为尝试使用win32 Eclipse的win64版本的JRE。我认为win32 Eclipse需要win32 Java(在Oracle/Sun的Java安装程序列表中称为-586)。

我同时使用这两个工具的原因是,我试图找出一个只在64位Eclipse中出现的错误,所以我需要一个32位的Eclipse来进行比较。

一旦我在我的机器上安装了“x64”(win64)和“i586”(win32)版本的JRE,一切都很好,没有错误13。显然你可以同时安装两个。

在java更新后,eclipse将无法启动,因为默认的jdk位置已经更改。向eclipse.ini文件中添加以下行立即解决了我的问题:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_75\bin\javaw.exe

我在vmargs之前添加了这些行。如下图所示:

...
--launcher.defaultAction
openFile
-vm
C:\Program Files (x86)\Java\jdk1.7.0_75\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms40m
-Xmx512m

有关eclipse.ini的更多信息,请访问http://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example

在我的情况下,我使用32位eclipse和java。如果同时安装了32位和64位版本的java,请谨慎选择正确的版本。对于64位版本,请参考该目录下的javaw.exe文件

C:\Program Files\Java\jdk1.8.0_60\bin

这可能只是错误显示的方式(而不是在eclipse.ini文件中如何编写),但是在eclipse.ini(指定JVM)中有文本说以下内容:

选项-vm和它的值(路径)必须在不同的行上。 该值必须是Java可执行文件的完整绝对路径,而不仅仅是Java主目录。 -vm选项必须出现在-vmargs选项之前,因为-vmargs之后的所有内容都将直接传递给JVM