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

时间:2011-09-04 22:48:11

标签: eclipse jvm

我在Windows 7上启动Eclipse Helios时收到此错误消息:

  

无法创建Java虚拟机

Enter image description here

我的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也可以解决问题。
  6. 为什么我不能将'1024m'用于'-Xmx'和'--launcher.XXMaxPermSize'?

41 个答案:

答案 0 :(得分:282)

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

eclipse.ini

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

max size

喜欢这个:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

然后它适合我。

答案 1 :(得分:105)

尝试添加

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

仅供参考:请参阅sunblog

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

  

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

e.g。

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

另请注意

  

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

答案 2 :(得分:75)

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


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

答案 3 :(得分:26)

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

答案 4 :(得分:18)

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

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

答案 5 :(得分:18)

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

答案 6 :(得分: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
    

答案 7 :(得分:8)

您还可以通过删除值" 256m"来解决此问题。在" -launcher.XXMaxPermSize“。

行下

答案 8 :(得分:8)

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

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

答案 9 :(得分: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

答案 10 :(得分:6)

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

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

答案 11 :(得分:5)

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

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

答案 12 :(得分:3)

快速修复:

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

答案 13 :(得分:3)

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

答案 14 :(得分: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

答案 15 :(得分:3)

这可能有效:

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

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

答案 16 :(得分: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

答案 17 :(得分:2)

这对我有用:

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

答案 18 :(得分:2)

解决了我的Eclipse质子无法启动时的问题。 得到错误“无法创建Java虚拟机”

在eclipse.ini文件中添加了以下内容

Storyboard

答案 19 :(得分:2)

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

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

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

答案 20 :(得分:1)

enter image description here我遇到了以下问题。所以我确实是在eclipse安装文件夹中找到了eclipse.ini文件。 then i edited that as follows

然后我进行了如下编辑 为-vm删除java jdk文件,删除XX并添加XX:MaxPermSeze = 256

答案 21 :(得分:1)

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

c:\> java -version

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

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

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

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

答案 22 :(得分:1)

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

-vm

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

答案 23 :(得分: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,其中解释了文件的内容。另请注意,该页面底部的另请参阅链接,以获取有关堆大小等内容的更多详细信息。 永远不要删除eclipse.ini。也不建议删除-vm或Xmx选项。如果这样做,就是在自找麻烦。

以下是与您的问题有关的Wiki页面参考:

Reference_1

Reference_2

答案 24 :(得分: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

答案 25 :(得分:0)

即使您在Windows上,也需要向javaw.exe添加/带有正斜杠的完整路径,即\代替eclipse.ini-vm C:/Program Files/Java/jdk-14/bin/javaw.exe 。如下所示:

-vmargs

上述行也必须放在之前 fun(int n) { if (n < 2) return 1; int counter = 0; for (int i = 1; i <= 8; i++) fun(n / 2); for (int i = 1; i <= Math.pow(n, 3); i++) counter++; } 之前。

答案 26 :(得分:0)

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

答案 27 :(得分:0)

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

答案 28 :(得分:0)

该问题首先出现在以下版本的补丁 DCEVM DCEVM-8u181-installer.jar 上。

然后移除标志< eclipse.ini 中的strong> -XX:+ UseG1GC
可以解决此问题。

答案 29 :(得分:0)

我尝试了以上所有操作,但对我没有任何帮助。 请按照以下步骤进行进一步检查:

  1. 在cmd中检查Java版本:java-
  2. 添加-vm javapath
  3. 如果已安装任何Java版本的最新/先前版本,请转到java文件夹,检查它是否与JDK一起包含Jre文件夹。(Ex-JDK 1.7与jre1.7一起)
  4. 转到“控制面板”,卸载该特定的Java运行时环境(JRE)。
  5. 现在您应该可以运行eclipse了。

答案 30 :(得分:0)

我从eclipse.ini中删除了-XX:+ UseStringDeduplication。如果运行eclipsec.exe,则会获得更好的解密效果。

答案 31 :(得分:0)

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

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

答案 32 :(得分:0)

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

答案 33 :(得分:0)

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

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

已删除:eclipse配置文件

重新运行:eclipsec.exe

现在项目的所有内容都恢复了工作。

答案 34 :(得分:0)

我的机器上已经打开了一个Eclipse窗口,当我尝试打开另一个Eclipse实例时,我收到了这个错误。我刚关闭了我打开的Eclipse窗口,然后启动了另一个窗口。并且不再有这样的错误:)

答案 35 :(得分:0)

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

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

答案 36 :(得分:0)

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

答案 37 :(得分:0)

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

答案 38 :(得分:0)

@Maro对我而言,它非常简单!

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

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

答案 39 :(得分:0)

解决问题的步骤: -

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

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

答案 40 :(得分:0)

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