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


当前回答

你也可以通过删除"-launcher.XXMaxPermSize "下面的值"256m"来解决这个问题。

其他回答

在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

Open folder with Eclipse.exe and find eclipse.ini file Replace -vmargs by your current real path of javaw.exe: *-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”* -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256M -showsplash com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -Declipse.buildId=v21.1.0-569685

进入任务管理器,结束所有不必要的任务,并启动Eclipse。您将不会得到这个错误。试一试;这对我很有用:)

即使是在Windows上,也需要将javaw.exe的全路径加上正斜杠,即/而不是\添加到eclipse.ini。像下图:

-vm
C:/Program Files/Java/jdk-14/bin/javaw.exe

此外,上面的行必须放在-vmargs之前。

@Maro对我来说很简单!

在得到错误消息警告后,我从命令提示符中执行'eclipse .exe'。这打开了Eclipse。然后我又尝试了'eclipse.exe',现在它工作得很好。

不幸的是,它没有给出任何技术上的原因。