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


当前回答

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

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

其他回答

在eclipse.ini中添加-vm后,如下所示为我工作。在-vmargs不删除它之前添加它

-vm
C:\apps\Java\jdk1.8.0_92\bin\javaw.exe
-vmargs

jdk更新导致了这个问题。

在我的例子中,这个问题发生在将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

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

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

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

快速修复:

将eclipse.ini中的-Xmx1024m更改为-Xmx512m(文件位于eclipse.exe所在的同一级别)。它会像魔法一样起作用。

我知道这是很旧的现在,但我刚刚有同样的问题,问题是我分配到太多的内存eclipse,它无法获得。因此,打开eclipse.ini并降低分配给-Xmx的内存数量。我将我的内存更改为-Xmx512m和XXMaxPermSize256m