Eclipse错误:'无法创建Java虚拟机'

问题描述 投票:201回答:37

我在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. 删除512的值--launcher.XXMaxPermSize可以解决问题,但会导致permgen错误
  5. -Xmx减少到512m也解决了这个问题。

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

eclipse jvm
37个回答
75
投票

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


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


6
投票

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

6
投票
  1. 打开位于eclipse安装文件夹中的eclipse.ini文件。
  2. 使用-vm D:\ jdk1.6.0_23 \ bin \ javaw.exe查找并替换-vmargs行,或者只删除行-vmargs并保存。现在问题正在解决

5
投票

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

我在这里找到了解决方案,Eclipse hangs at Splash Screen,并希望分享它。希望它也可以帮助其他人。


3
投票

试试这个:

-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

3
投票

快速解决:

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


3
投票

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

3
投票

这可能有效:

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

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

3
投票

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

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

2
投票

这对我有用:

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


2
投票

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

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

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


282
投票

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

2.在eclipse.ini或任何其他Notepad应用程序中打开text-editor,找到行-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
投票

当我的Eclipse质子无法启动时面临问题。收到错误“无法创建Java虚拟机”

下面添加到eclipse.ini文件中

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

1
投票

添加此项修复了我的问题:

-vm

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

1
投票

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

c:\> java -version

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

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

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

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


1
投票

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

1
投票

解决问题的正确方法是在ini fie中添加指向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*/

如果上述修复效果不佳,则不要尝试其他任何操作。这个帖子中的大多数建议都是错误的。其中一些黑客可能暂时或在某些机器配置上工作,但eclipse.ini的内容不是微不足道也不是随意的。有关权威参考,请参阅此[wiki页面]:https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM,它解释了文件的内容。另请注意该页面底部的See Also链接,以获取有关堆大小等内容的更多详细信息。请勿删除eclipse.ini,EVER。删除-vm或Xmx选项也是不可取的。如果你这样做,你会遇到麻烦。

以下是与您的问题有关的Wiki页面的引用:

Reference_1

Reference_2


0
投票

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


0
投票

解决问题的步骤: -

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

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

0
投票

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

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


0
投票

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

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


108
投票

尝试添加

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

仅供参考:请参阅sunblog

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

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

EG

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

另请注意

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


0
投票

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

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

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


26
投票

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


18
投票
  1. 从eclipse文件夹中打开eclipse.ini文件。
  2. 它有一些添加配置。找到–launcher.XXMaxPermSize这一行。现在删除默认值256m并保存。

18
投票

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


11
投票
  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

8
投票

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


8
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.