当我在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'?


当前回答

我也面临着同样的问题,但我找到了解决办法。MaxPermSize的分配存在问题。如果您试图分配超过您的机器的空闲空间,那么它会在我的问题中给出这个错误。所以尽量减少MaxPermSize。

我想这会帮助你解决你的问题。

其他回答

在STS.conf文件中,您需要检查两件重要的事情,以避免创建/分配jvm问题

1. 给出jdk的安装位置:

--vm C:\Program Files\Java\jdk1.7.0_01\jre\bin\javaw.exe

2. 你需要给出正确的java安装版本:

--Dosgi.requiredJavaVersion=1.7

3.尽量减少内存大小:

--XX:MaxPermSize=256m

修复这个问题的简单方法就是删除或重命名eclipse.ini文件。先试试。如果这种方法不能解决您的问题,请尝试下面描述的解决方案。

其他解决方法:

解决方案1

在eclipse.ini文件中添加一个字符串,该字符串将更改javaw.exe文件的目标。主要的事情是这个字符串必须放在字符串"-vmargs"之上!

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe 

解决方案2

删除-launcher的值。XXMaxPermSize,比如256m。

解决方案3

删除或减少Xms和Xmx的值:

-Xms384m 
-Xmx384m

添加这个为我解决了这个问题:

-vm

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

试着添加

-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

这可能有用:

打开eclipse.ini文件并在行尾粘贴下面的行。

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m