Eclipse启动失败 - 找不到Java虚拟机

106

昨天Eclipse还能正常运行(自从我一年前安装它以来都没问题),但突然间启动时出现了以下错误:

"A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations:
C:\Program Files\eclipse\jre\bin\javaw.exe
javaw.exe in your current PATH"

我并没有更改过我的机器上任何与Eclipse/Java有关的内容,但是昨天我的机器应用了一个Windows更新,所以也许这与它有关(但我并没有看到任何会影响Java的东西)。我已经查看了所有其他帖子,关于将某些内容添加到你的PATH或将-vm选项添加到Eclipse ini中(我无法让它起作用),或将jre文件夹复制到eclipse\jre中(这个方法可行,但不是一个好的长期解决方案)。所以我真的试图找出如何使事情回到“默认”设置而不弄乱它们。

我正在运行Windows 7,Eclipse Helios和Java 1.6.0_26。


最好且简单的方法是重新安装Java并在Eclipse上设置路径。 - Manoj Kumar
Nambari - 为什么JAVA_HOME变量会突然消失?编辑:刚刚尝试设置JAVA_HOME环境变量,但在启动eclipse时仍然出现错误。 - NullReference
3
“Eclipse不会查找JAVA_HOME环境变量。” FAQ (注意:已经尽力保持忠实和通顺的翻译,如有必要,请参考原始文本。) - StellarVortex
只需设置JAVA_HOME和PATH环境变量。 - Pavan Pyati
23个回答

232

有两种方法可以解决这个问题。

注意:Eclipse 不会考虑 JAVA_HOME 环境变量。


2
如果在eclipse/jre目录下安装了JVM,Eclipse 将使用它,否则启动器将查找eclipse.ini文件和系统路径变量。很有可能在更新后您的PATH被损坏了。 - Ajay George
13
-eclipse.ini 文件中,-vm 需要作为第一项。 - gath
2
@Marjeta eclipse.ini 存在于您的 Eclipse 安装文件夹中。 - Ajay George
5
另一个提示,当我将“-vm”添加到eclipse.ini文件的末尾时,它不起作用。最后,我将其添加到文件顶部,然后它就起作用了。 - Gary
1
当"-vm"放置在"-vmargs"行上方时,它可以正常工作。请参考http://wiki.eclipse.org/Eclipse.ini#-vm_value%3a_Windows_Example。 - Maninda
显示剩余11条评论

16

确保Java版本和Eclipse的架构相同。因此,为64位的Eclipse安装64位的Java。


这对我解决了问题。指定VM或PATH似乎并不必要,只会在升级时带来麻烦。 - StellarVortex

14

eclipse.ini:

--launcher.defaultAction  
--launcher.XXMaxPermSize  
256M  
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize<br/>
256m  
--launcher.defaultAction  
openFile  
-showsplash  
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll<br/>
--launcher.XXMaxPermSize  
256m  
--launcher.defaultAction  
openFile  
-vmargs  
-Dosgi.requiredJavaVersion=1.7  

那个方法对我起作用了。它并不一定要在开头,但肯定不能在文件结尾。


vm标志想要jvm.dll代替javaw.exe。谢谢! - gerardnico
我尝试了javaw.exe和jvm.dll两种方式,它们都是32位的,但仍然弹出那个窗口。 - raja777m

12

在我的情况下,有一些东西缺失。我没有安装64位的JDK和JRE,而Eclipse是64位版本。完成后,在PATH变量中设置JDK\bin路径,Eclipse就可以正常工作了 :)


2
我安装了32位的Java和64位的Eclipse,真是太蠢了!现在感到非常尴尬。 - Bill Turner

8

打开 eclipse.exe 旁边的 eclipse.ini 文件。

粘贴:

-vm
C:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll 
 //find it if you are having another JDK version.

第一行内容。 这样,您就可以开始了。


6
我在更新Java后遇到了同样的问题。然后我粘贴了


-vm
C:\Program Files\Java\jre6\bin\javaw.exe

eclipse.ini文件中显示javaw.exe的路径。
希望这能帮到你。

2
好的,我已经点赞了你的回答。同时请确保它在ini文件的顶部。 - ND27

4

设置Java路径后,如果无法打开Eclipse,请执行以下步骤:

  1. 转到您提取Eclipse的文件夹。

enter image description here

打开默认情况下会在记事本中打开的Eclipse文件。
在记事本中输入两行。
-vm
C:/Program Files/Java/jdk-11.0.2/bin/javaw.exe

jdk-11.0.2,这应该是您的Java版本,您可以通过上述位置获取。

enter image description here


3
我也遇到了类似的问题。在我的情况下,是一个我安装的程序破坏了 PATH 环境变量。
因此,请检查你的 PATH 环境变量。

2

首先,检查您是否同时安装了32位和64位的Java,然后

在Windows上设置路径

Windows 8

将鼠标指针拖到屏幕右下角

点击搜索图标并输入:控制面板

点击 -> 控制面板 -> 系统 -> 高级

在系统变量下找到PATH,并单击它。

在编辑窗口中,通过将类的位置添加到PATH的值来修改PATH,或者只需确保变量名称全部大写

如果您没有PATH项,可以选择添加一个新变量,并将PATH作为名称,将类的位置作为值。

关闭窗口。

重新打开命令提示符窗口,并运行您的Java代码。


1
在Centos 7上,我通过更改vm设置来解决这个问题(在进行了大规模的yum upgrade之后)。

~/eclipse/java-oxygen/eclipse/eclipse.ini

to:

-vm
/etc/alternatives/jre/bin

(该指向始终指向最新安装的java

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接