Ошибка Eclipse: «Не удалось создать виртуальную машину Java»

191

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

Не удалось создать виртуальную машину Java

Изображение 602

Мой 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 -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  • Удаление опции -vm вообще
  • Удаление --launcher.XXMaxPermSize устраняет эту проблему, но вызывает ошибки смены.
  • Удаление значения 512 из --launcher.XXMaxPermSize устраняет проблему, но вызывает ошибки смены имени.
  • Сокращение -Xmx до 512m также устраняет проблему.

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

  • 17
    Это означает, что jvm не может выделить необходимое пространство памяти (1024 + 512) на вашем компьютере.
  • 0
    Так что, чтобы подтвердить, я правильно понимаю. JVM выделит объем памяти, указанный в (XXMaxPermSize + Xmx)
Показать ещё 3 комментария
Теги:
jvm

34 ответа

76
Лучший ответ

Попробуйте удалить строки -vm P:\Programs\jdk1.6\bin.


Кроме того, общая рекомендация: установите -Dosgi.requiredJavaVersion=1.6, а не 1.5.

  • 7
    Я пробовал это, но проблема все еще сохраняется
  • 4
    это сработало для меня, спасибо. но почему?!
Показать ещё 3 комментария
282

1. Откройте файл eclipse.ini из вашей папки eclipse, см. рисунок ниже.

Изображение 6814

2. Откройте eclipse.ini в Notepad или любом другом приложении text-editor, найдите строку -Xmx256m (или -Xmx1024m). Теперь измените значение по умолчанию 256m (или 1024m) на 512m. Вам также необходимо указать точную версию java (1.6 или 1.7 или другую).

Изображение 6815

Как это:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

ИЛИ

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

ИЛИ

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Тогда это хорошо работает для меня.

  • 62
    Вау, я изменил -Xmx1024m на -Xmx512m, и это сработало!
  • 8
    Это будет работать только в том случае, если в проблеме недостаточно памяти и вы уменьшите значения в файле eclipse.ini. Их повышение только сделает эту проблему более вероятной.
Показать ещё 7 комментариев
104

Попробуйте добавить

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

FYI: см. sunblog

Для других, у кого могут возникнуть проблемы с Java 7, по Eclipse Wiki - eclipse.ini vm_value (пример Windows)

Это может не работать во всех системах. Если при запуске eclipse вы столкнулись с запуском Java, но возвратили код выхода = 1, измените аргумент -vm, чтобы указать на jvm.dll

например.

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

Также обратите внимание, что

Параметр -vm должен произойти перед параметром -vmargs, поскольку все после -vmargs передается непосредственно в JVM

  • 0
    Это прекрасно работает, но я предпочитаю использовать -vm C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe, так как путь JRE, скорее всего, останется стабильным, особенно если вы совместно используете одну установку Eclipse через несколько машин / виртуальных машин.
  • 0
    это сработало для меня, но во время загрузки затмение зависает на org.eclipse.debug.core
Показать ещё 4 комментария
26

Я знаю, что сейчас это довольно старо, но у меня была одна и та же проблема, и проблема заключалась в том, что я выделял много памяти для затмения, которой она не могла справиться. Итак, откройте eclipse.ini и уменьшите объем памяти, который выделяется на -Xmx XXMaxPermSize. Я изменил мою на -Xmx512m и XXMaxPermSize256m

  • 0
    Это на 32-битной машине? Потому что я считаю, что есть ограничение на количество памяти, которое вы можете использовать на 32-битных окнах
  • 0
    @ Маро Да, это так. Глядя на обновление до 64 бит.
Показать ещё 3 комментария
18
  • Откройте файл eclipse.ini из вашей папки eclipse.

  • У него есть некоторые дополнения в конфигурации. Найдите строку –launcher.XXMaxPermSize. Теперь удалите значение по умолчанию 256m и сохраните его.

  • 1
    Я просто уменьшил его до 128 м, и это сработало.
16

Я удалил eclipse.ini. Я столкнулся с этой проблемой и удалив файл ini, решив его.

11
  • Откройте папку с Eclipse.exe и найдите файл eclipse.ini
  • Замените -vmargs на текущий текущий путь 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
    
8

Я нашел очень легкое решение для этого. Просто удалите файл eclipse.ini, но сначала сохраните резервную копию. У меня была такая же проблема много раз, и, наконец, я удалил ее, и у меня больше не было проблемы.

Это также увеличило время загрузки. Теперь мое Eclipse запускается быстрее, чем раньше.

  • 0
    После удаления eclipse.ini я получаю эту ошибку, когда пытаюсь запустить Eclipse => программа запуска eclipse не смогла найти свою совместно используемую библиотеку
  • 0
    классно! Я попытался так много шагов, чтобы редактировать INI-файл. но этот ответ великолепен. оно работает. ура!
8

Вы также можете решить эту проблему, удалив значение "256 м" в строке "-launcher.XXMaxPermSize".

  • 0
    Работал на меня. Хотя даже с этим значением он работал нормально после выхода из системы Windows и затем входа в систему.
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
  • 0
    MaxPermSize был моей проблемой.
5

После выполнения вышеуказанного решения по сокращению памяти Eclipse начинает работать, но зависает каждый раз при загрузке плагинов из рабочего пространства специально в org.eclipse.debug.core.

Я нашел решение здесь, Eclipse зависает на экране Splash и хочет поделиться им. Надеюсь, это тоже поможет другим.

  • 0
    в отличие от всего, что я пробовал в последний час, это сработало, спасибо!
  • 0
    Мертвая ссылка, есть ли шанс, что у вас есть другая?
4
  1. Откройте файл ecplise.ini, который находится в папке установки eclipse.

  2. Найдите и замените строку -vmargs на -vm D:\jdk1.6.0_23\bin\javaw.exe ИЛИ просто удалите строку -vmargs и сохраните ее. Теперь проблема решается

  • 2
    Спасибо @Rajas, просто удалите строку -vmargs и сохраните, у меня получилось
3

Простой способ исправить эту проблему - просто удалить или переименовать файл eclipse.ini. Сначала попробуйте. Если этот метод не решает проблему, попробуйте описанные ниже решения.

Другие способы исправить:

Решение 1

Добавьте строку в файл eclipse.ini, который изменит пункт назначения файла javaw.exe. Главное, чтобы эта строка была помещена над строкой "-vmargs"!

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe 

Решение 2

Удалите значение –launcher.XXMaxPermSize, например 256 м.

Решение 3

Удалите или уменьшите значения Xms и Xmx:

-Xms384m 
-Xmx384m
3

Быстрое исправление:

Измените -Xmx1024m на -Xmx512m в eclipse.ini(файл находится на том же уровне, где присутствует eclipse.exe). И это будет работать как шарм.

3

Это может работать:

Откройте eclipse.ini файл и вставьте ниже строк в конце строк.

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
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
2

Убедитесь, что eclipse.ini не имеет несколько записей и используется запись vm перед vmargs:

-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, и, вуаля, это сработало.

1

Столкнулся с проблемой, когда мой протон Eclipse не смог запуститься. Произошла ошибка "Не удалось создать виртуальную машину Java"

Добавлено ниже в файл eclipse.ini

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

После добавления -vm в eclipse.ini, как показано ниже, работал у меня. Добавьте его до -vmargs не удаляйте его

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

Появилось обновление jdk, которое вызывало эту проблему.

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

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

c:\> java -version

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

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

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

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

1

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

-vm

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

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

0

После отказа от вышеуказанных проверенных шагов я попробовал что-то, решив переустановить.

Добавлено:%\USER PATH\Java\jdk1.6.0_39\bin для переменных среды

Удалено: файл конфигурации eclipse

Повторный запуск: eclipsec.exe

Теперь все из проектов возвращается.

0

Одно окно Eclipse уже было открыто на моей машине, и когда я попытался открыть другой экземпляр Eclipse, я получил эту ошибку. Я просто закрыл открытые окна Eclipse, а затем запустил другой. И больше не было такой ошибки:)

0

Перейдите в Диспетчер задач, завершите все ненужные задачи и запустите Eclipse. Вы не получите эту ошибку. Попробуй; это сработало для меня:)

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

ШАГИ ДЛЯ РЕШЕНИЯ НОМЕРА: -

  • Откройте файл eclipse.ini из папки eclipse.

  • У него есть некоторые дополнения в конфигурации. Найдите строку -launcher.XXMaxPermSize.It будет последней строкой в ​​этом файле. Теперь удалите/удалите значение по умолчанию 256m и сохраните его.

0

В моем случае эта проблема возникла после обновления 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.

Итак, я изменил " запуск" на " 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

Для меня это было решено путем изменения пути bin JDK в переменной окружения Path. Поместите путь JDK bin, в котором jre/bin/client/jvm.dll находится в JDK home.

0

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

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

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

0

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

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

0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню