提问



我在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设置正确。我怎样才能解决这个问题?


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




  1. 添加javaw.exe的完整路径
    -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe

  2. 完全删除-vm选项

  3. 删除--launcher.XXMaxPermSize可修复此问题,但会导致permgen错误

  4. 删除--launcher.XXMaxPermSize的值512可修复此问题,但会导致permgen错误

  5. -Xmx缩减为512m也解决了这个问题。



为什么我不能将1024m用于-Xmx和--launcher.XXMaxPermSize?

最佳参考


尝试删除-vm P:\Programs\jdk1.6\bin行。





另外,一般建议:设置-Dosgi.requiredJavaVersion=1.6,而不是1.5

其它参考1


1。打开eclipse文件夹中的eclipse.ini文件,如下图所示。





2。Notepad或任何其他text-editor应用程序中打开eclipse.ini,找到行-Xmx256m(或-Xmx1024m)。现在将默认值256m(或1024m)更改为512m。您还需要提供确切的Java安装版本(1.6或1.7或其他)。





像这样:


-Xmx512m
-Dosgi.requiredJavaVersion=1.6





-Xmx512m
-Dosgi.requiredJavaVersion=1.7





-Xmx512m
-Dosgi.requiredJavaVersion=1.8


那对我来说效果很好。

其它参考2


尝试添加


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


仅供参考:参考sunblog [60]


对于可能遇到Java 7问题的其他人,根据Eclipse Wiki - eclipse.ini vm_value(windows示例)[61]



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



例如


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


另请注意



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


其它参考3


我知道现在这已经很老了,但我刚刚遇到了同样的问题,而问题是我分配给了很多内存,以至于无法得到它。所以打开eclipse.ini并降低分配给-Xmx XXMaxPermSize的内存量我将我改为-Xmx512mXXMaxPermSize256m

其它参考4



  1. 从eclipse文件夹中打开eclipse.ini文件。

  2. 它有一些添加配置。找到–launcher.XXMaxPermSize这一行。现在删除默认值256m并保存。


其它参考5


我删除了 eclipse.ini 。我遇到了这个问题并删除 ini 文件解决了它。

其它参考6



  1. 使用Eclipse.exe打开文件夹并找到eclipse.ini文件

  2. 用您当前的javaw.exe实际路径替换 -vmargs :* -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
    



其它参考7


您还可以通过删除-launcher.XXMaxPermSize行下的值256m来解决此问题。

其它参考8


我找到了一个非常简单的解决方案。只需删除eclipse.ini文件,但先备份。我多次遇到同样的问题,最后我删除了这个,我不再有问题了。


它还增加了加载时间。现在我的Eclipse开始比以前更快。

其它参考9


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

其它参考10


在尝试上述减少内存的解决方案之后,Eclipse开始工作,但每次在工作空间加载插件时都会挂起org.eclipse.debug.core


我在这里找到了解决方案,Eclipse挂起了Splash Screen,想要分享它。希望它也可以帮助其他人。[62]

其它参考11



  1. 打开位于eclipse安装文件夹中的ecplise.ini文件。

  2. 查找&用-vm D:\\ jdk1.6.0_23 \\ bin \\ javaw.exe替换行-vmargs或者只删除行-vmargs并保存它。现在问题正在解决


其它参考12


试试这个:


-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

其它参考13


快速解决:


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

其它参考14


解决此问题的简单方法是删除或重命名 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

其它参考15


这可能有效:


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


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

其它参考16


这对我有用:


我在Windows  7计算机上关闭了所有其他内存密集型应用程序。我试图打开Eclipse,瞧,它有效。

其它参考17


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


-vm

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

其它参考18


有时候它不是你的 eclipse.ini ;它是你的JDK崩溃了。您可以通过在命令提示符中编写以下命令来检查它:


c:\> java -version


如果此命令显示以下错误:


Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object


然后首先卸载JDK并重新安装。


Eclipse将再次出现;)今天我遇到了同样的问题,并且
以上由Itachi Uchiha建议。

其它参考19


将参数大小减少到-256


请参阅我的eclipse.ini文件



    -startup
   plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
   --launcher.library
  plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
  -product
   org.eclipse.epp.package.jee.product
   --launcher.defaultAction
   openFile
   --launcher.XXMaxPermSize
   256M
  -showsplash
   org.eclipse.platform
   --launcher.XXMaxPermSize
   256M
  --launcher.defaultAction
  openFile
  -vmargs
  -Dosgi.requiredJavaVersion=1.6
  -Xms40m
  -Xmx512m

其它参考20


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


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


有一个jdk更新导致了这个问题。

其它参考21


确保eclipse.ini在vmargs之前没有多个条目并使用vm条目


-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

其它参考22


对我来说,它通过更改Path环境变量中的JDK bin路径来解决。将JDK bin路径放在JDK home下有jre/bin/client/jvm.dll。

其它参考23


解决问题的步骤: -



  1. 从eclipse文件夹中打开eclipse.ini文件。

  2. 它有一些添加配置。找到行-launcher.XXMaxPermSize.It将是此文件中的最后一行。现在删除/删除默认值256m并保存。


其它参考24


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

其它参考25


我遇到了同样的问题,我找到了解决方案。 MaxPermSize的分配存在问题。如果你试图分配超过机器的可用空间,那么它在我的问题中会出现这个错误。所以尽量减少MaxPermSize。


我认为它可以帮助您解决问题。

其它参考26


所有这些解决方案让我失望使用Eclipse六个月之后,这件事发生在我身上。似乎某种程度上我的JDK被破坏了。


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

其它参考27


@Maro对我来说它非常简单!


收到错误消息警报后,我从命令提示符处执行了eclipse c .exe。这打开了Eclipse。然后我再次尝试使用eclipse.exe,现在它工作得很好。


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

其它参考28


在我的情况下,将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.


所以我将启动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

其它参考29


转到任务管理器,结束所有不必要的任务,然后启动Eclipse。你不会得到这个错误。试试吧;它对我有用:)[64]