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


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


另外,一般建议:set - dosgi . requiredjavaverse =1.6,而不是1.5。


试着添加

-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


1. 从eclipse文件夹中打开eclipse.ini文件,见下图。

2. 在记事本或任何其他文本编辑器应用程序中打开eclipse.ini,找到行-Xmx256m(或-Xmx1024m)。现在将默认值256m(或1024m)更改为512m。您还需要给出确切的java安装版本(1.6或1.7或其他)。

是这样的:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

OR

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

OR

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

那它对我很有效。


从eclipse文件夹中打开eclipse.ini文件。 它有一些附加配置。找到line -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

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


在尝试了上述减少内存的解决方案后,Eclipse开始工作,但每次在从工作空间(特别是在org.eclipse.debug.core)加载插件时都挂起。

我在这里找到了解决方案,Eclipse挂在启动屏幕上,并想分享它。希望它也能帮助到其他人。


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


试试这个:

-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

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

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


所有这些解决办法我都失败了。在使用Eclipse 6个月后,我突然遇到了这种情况。似乎我的JDK被破坏了。

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


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

-vm

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

这可能有用:

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

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

@Maro对我来说很简单!

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

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


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


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

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文件夹中打开eclipse.ini文件。 它有一些附加配置。找到line -launcher.XXMaxPermSize。它将是这个文件的最后一行。现在删除默认值256m并保存它。


这招对我很管用:

我关闭了Windows 7电脑上所有占用内存的应用程序。我试着打开Eclipse,瞧,它工作了。


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


快速修复:

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


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

有时它不是eclipse.ini;是你的JDK崩溃了。您可以在命令提示符中输入以下命令进行检查:

c:\> java -version

如果该命令显示如下错误:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

请先卸载JDK,然后重新安装。

Eclipse将会再次出现;)今天我也遇到了同样的问题 以上是Itachi Uchiha的建议。


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


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

它还增加了加载时间。现在我的Eclipse启动速度比以前快。


修复这个问题的简单方法就是删除或重命名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

在我的机器上已经打开了一个Eclipse窗口,当我试图打开另一个Eclipse实例时,我得到了这个错误。我只是关闭了打开的Eclipse窗口,然后启动了另一个。现在再也没有这样的错误了:)


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

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

删除:eclipse配置文件

重新运行:eclipse .exe

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


减少参数大小到-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

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

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

jdk更新导致了这个问题。


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


确保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

打开eclipse安装文件夹中的ecplise.ini文件。 找到并替换行-vmargs与-vm D:\jdk1.6.0_23\bin\javaw.exe或只是删除行-vmargs并保存它。现在这个问题正在得到解决


当我的Eclipse质子无法启动时,我遇到了这个问题。 Java虚拟机创建失败

添加到eclipse.ini文件中

-vm
C:\Program Files\Java\jdk-10.0.1\bin\javaw.exe

正确的解决方法是在文件夹中添加指向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页面上与您的问题相关的参考资料:


我从eclipse.ini中删除-XX:+UseStringDeduplication。如果运行eclipse .exe,就会得到更好的描述。


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

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


在用版本:DCEVM-8u181-installer.jar修补DCEVM后,问题首次出现。然后,从eclipse.ini中移动标记-XX:+UseG1GC就修复了这个问题。


我也面临着这个问题。您可能安装了多个JAVA版本。确保JAVA_HOME变量被设置为正确的版本。


我有以下问题。所以我在eclipse安装文件夹中找到了eclipse。ini文件。

然后我编辑如下 为-vm添加Java JDK文件目的地。删除XX个东西并添加XX:MaxPermSeze=256


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

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

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


MacOSX和Homebrew用户:

假设您通过homebrew安装了Eclipse: brew install——cask Eclipse -java.rb 然后它可能找不到您的Java SDK,所以打开~/.homebrew/Caskroom/eclipse-java中的eclipse.ini文件

并在vmargs上面的eclipse.ini中添加以下行:

-vm / Library / Java / JavaVirtualMachines amazon-corretto-8 jdk /地点/ Home / bin。


进入配置面板,并遵循

将变量JAVA_HOME更改为您使用的JDK。 在我的情况下,我改变了java的最新版本的新项目和eclipse的旧项目不能运行,因为这一点。