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


当前回答

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

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

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

其他回答

在我的例子中,这个问题发生在将Java从1.6更新到1.7之后。

要了解错误,请运行eclipse.exe文件夹下的java.exe。使用eclipse.ini中的参数,因为它将显示导致失败的参数。

例如:

F:\Mobile Class\adt-bundle-windows-x86\adt-bundle-windows-x86\eclipse>java -star
tup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.lib
rary plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 7
68m  -showsplash org.eclipse.platform --launcher.XXMaxPermSize 768m --launcher.d
efaultAction openFile -vm C:\Program Files\Java\jre7\bin\client\jvm.dll -vmargs
-Dosgi.requiredJavaVersion=1.6 -Declipse.buildId=v21.1.0-569685 -Xms40m -Xmx768m

Unrecognized option: -startup
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

所以我把'startup' swith改为'jar',如下所示,问题解决了:

F:\Mobile Class\adt-bundle-windows-x86\adt-bundle-windows-x86\eclipse>java -jar
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 -pr
oduct com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 768m
-showsplash org.eclipse.platform --launcher.XXMaxPermSize 768m --launcher.defaul
tAction openFile -vm C:\Program Files\Java\jre7\bin\client\jvm.dll -vmargs -Dosg
i.requiredJavaVersion=1.6 -Declipse.buildId=v21.1.0-569685 -Xms40m -Xmx768m

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

正确的解决方法是在文件夹中添加指向Java文件夹jvm.dll文件的-vm行。

-vm
C:\Program Files\Java\jre1.8.0_202\bin\server\jvm.dll
/*there is no dquote for path, and path points to right java version folder mentioned in ini file*/

If the above fix is not fruitful, then do not attempt anything else. Most of the advice in this thread is misguided. Some of these hacks might work temporarily or on certain machine configurations, but the contents of eclipse.ini are not trivial nor arbitrary. For the authoritative reference, see this [wiki page]:https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM that explains the contents of the file. Also note the See Also links at the bottom of that page for more details about things like heap size, etc. DO NOT delete eclipse.ini, EVER. It is also inadvisable to remove the -vm or Xmx options. If you do, you're asking for trouble.

以下是wiki页面上与您的问题相关的参考资料:

我尝试了以上所有的方法,但都没用。 按照以下步骤进一步检查:

在cmd: java -下查看java版本 添加-vm javapath 如果您已经安装了java的最新/以前版本,进入java文件夹,检查是否有Jre文件夹和JDK。(Ex-JDK 1.7和jre1.7) 进入控制面板,卸载特定的java运行时环境(JRE)。 现在您应该能够运行eclipse了。

在上述经过验证的步骤失败后,我决定重新安装后尝试了一些东西。

添加:%\USER PATH\Java\jdk1.6.0_39\bin到环境变量

删除:eclipse配置文件

重新运行:eclipse .exe

现在项目的一切都恢复正常了。