当我在Windows 7上启动Eclipse Helios时,我得到了这个错误消息:

日志含义创建Java虚拟机失败

我的eclipse.ini看起来如下所示:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-vm
P:\Programs\jdk1.6\bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms120m
-Xmn100m
-Xmx1024m

据我所知,我的JAVA_HOME设置正确。我该如何解决这个问题?

到目前为止我尝试过的事情:

将完整路径添加到javaw.exe 虚拟机 P: \程序\ jdk1.6 \ bin \ \ bin \ javaw.exe 完全删除-vm选项 删除——发射器。XXMaxPermSize修复了这个问题,但是它会导致permgen错误 删除——launcher的512值。XXMaxPermSize修复了这个问题,但是它会导致permgen错误 减少-Xmx到512m也解决了这个问题。

为什么我不能使用'1024m'为'-Xmx'和'——launcher.XXMaxPermSize'?


当前回答

所有这些解决办法我都失败了。在使用Eclipse 6个月后,我突然遇到了这种情况。似乎我的JDK被破坏了。

我最终的解决方案是下载一个更新的JDK并相应地更新我的JAVA_HOME, 在我的例子中,从jdk1.6.0_37到jdk1.6.0_43。

其他回答

1. 从eclipse文件夹中打开eclipse.ini文件,见下图。

2. 在记事本或任何其他文本编辑器应用程序中打开eclipse.ini,找到行-Xmx256m(或-Xmx1024m)。现在将默认值256m(或1024m)更改为512m。您还需要给出确切的java安装版本(1.6或1.7或其他)。

是这样的:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

OR

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

OR

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

那它对我很有效。

在尝试了上述减少内存的解决方案后,Eclipse开始工作,但每次在从工作空间(特别是在org.eclipse.debug.core)加载插件时都挂起。

我在这里找到了解决方案,Eclipse挂在启动屏幕上,并想分享它。希望它也能帮助到其他人。

试试这个:

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar 
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 
-showsplash org.eclipse.platform 
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction openFile 
-vm F:\Program Files\jdk1.6\bin\javaw.exe 
-vmargs 
-Xms512m 
-Xmx512m 
-XX:+UseParallelGC 
-XX:PermSize=256M 
-XX:MaxPermSize=512M

我所要做的就是从eclipse.ini文件中删除-vm并返回。这一次,它会告诉你它在哪里寻找javaw.exe,这样你就可以去那里删除符号链接。确保将JAVA_HOME定义为jdk路径。

试着添加

-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe

供参考:参考太阳博客

对于其他可能对Java 7有问题的人,请参考Eclipse Wiki - Eclipse .ini vm_value (windows示例)

这可能不适用于所有系统。如果在启动eclipse时遇到“Java已启动但返回退出代码=1”错误,请修改-vm参数以指向jvm.dll

e.g.

-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll

还要注意

-vm选项必须出现在-vmargs选项之前,因为-vmargs之后的所有内容都将直接传递给JVM