Ошибка Eclipse: «Не удалось создать виртуальную машину Java» - PullRequest
202 голосов
/ 05 сентября 2011

Я получаю это сообщение об ошибке при запуске Eclipse Helios в Windows 7:

Не удалось создать виртуальную машину 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 также устраняет проблему.

Почему я не могу использовать '1024m' для '-Xmx' и '--launcher.XXMaxPermSize'?

Ответы [ 37 ]

1 голос
/ 03 декабря 2014

Уменьшить размер параметра до -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 голос
/ 12 апреля 2013

Добавление этого исправило проблему для меня:

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe
1 голос
/ 16 мая 2014

Иногда это не твое eclipse.ini ;это ваш JDK, который разбился.Вы можете проверить это, написав следующую команду в командной строке:

c:\> java -version

Если эта команда показывает следующую ошибку:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Затем сначала удалите JDK и переустановите его.

Затмение снова будет в действии;) Так как сегодня у меня возникла та же проблема, и вышесказанное предлагает Итачи Учиха .

1 голос
/ 04 марта 2019

Правильным решением вашей проблемы является добавление строки -vm, указывающей на файл jvm.dll вашей папки Java в ini fie.

-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 не является тривиальным или произвольным.Для авторитетной ссылки, смотрите эту [вики-страницу]: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM, которая объясняет содержание файла.Также обратите внимание на ссылки «См. Также» внизу этой страницы для получения более подробной информации о таких вещах, как размер кучи и т. Д. НЕ удаляйте eclipse.ini, НИКОГДА.Также не рекомендуется удалять опции -vm или Xmx.Если да, то вы просите о неприятностях.

Вот ссылки со страницы вики, относящиеся к вашей проблеме:

Reference_1

Reference_2

0 голосов
/ 06 марта 2013

Я столкнулся с той же проблемой, и я нашел решение.Есть проблемы в распределении MaxPermSize.Если вы попытаетесь выделить больше, чем свободное место на вашей машине, то это выдает эту ошибку в моей проблеме.Поэтому постарайтесь уменьшить MaxPermSize.

Я думаю, это поможет вам разобраться в вашей проблеме.

0 голосов
/ 10 марта 2013

Все эти решения меня подвели. Это случилось со мной на ровном месте после использования Eclipse в течение шести месяцев. Похоже, что мой JDK поврежден.

Мое возможное решение состояло в том, чтобы загрузить более новый JDK и соответственно обновить мой JAVA_HOME, от jdk1.6.0_37 до jdk1.6.0_43 в моем случае.

0 голосов
/ 13 декабря 2016

Все, что мне нужно было сделать, это удалить -vm из файла eclipse.ini и return.На этот раз он скажет вам, где он ищет javaw.exe, чтобы вы могли зайти туда и удалить символическую ссылку.Убедитесь, что JAVA_HOME определено для вашего jdk пути.

0 голосов
/ 08 января 2014

В моем случае эта проблема возникла после обновления Java с 1.6 до 1.7.

Чтобы понять ошибку, запустите java.exe в папке eclipse.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
0 голосов
/ 05 апреля 2019

Я удаляю -XX: + UseStringDeduplication из eclipse.ini. Если вы запустите eclipsec.exe, вы получите лучшее описание.

0 голосов
/ 16 сентября 2013

@ Маро Для меня это сработало очень просто!

После получения сообщения об ошибке я запустил eclipse c .exe из командной строки. Это открыло Затмение. Затем я снова попытался с помощью eclipse.exe, и теперь он работает хорошо и хорошо.

К сожалению, это не дало технической причины для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...