Каждая Java-программа аварийно завершает работу с: Не удалось создать виртуальную машину Java - PullRequest
2 голосов
/ 03 марта 2011

Со вчерашнего дня я получаю сообщение: «Не удалось создать виртуальную машину Java» во всех приложениях Java на моем компьютере с Windows. Может быть, у меня был вирус или что-то подобное. Единственный совет, который я нашел на других сайтах, это установить размер кучи на более низкое значение. Проблема в том, что у меня запущены большие приложения, требующие как минимум 1024M кучи. Кроме того, на моей машине установлен 4 Гб оперативной памяти, так что я думаю, что это не слишком проблема с памятью.

Ответы [ 8 ]

4 голосов
/ 03 марта 2011

Осторожно переместите текущую установку JDK / JRE в одну сторону и установите свежую копию. Если это работает, вы сделали. Если нет, то вы исключили возможность того, что это поврежденная установка.

Другая возможность состоит в том, что это действительно проблема пути. Можете ли вы запустить java -version из командной строки? Можете ли вы скомпилировать и запустить программу Java "hello world" из командной строки?

Да, теоретически это мог быть вирус ... или кто-то мог возиться с установкой.

1 голос
/ 20 мая 2012

Это потому, что Eclipse не может найти путь к javaw.exe

Просто отредактируйте файл "eclipse.ini", добавив следующий путь:

Откройте файл и приложите следующие предложения (заменив их собственным путем, если он другой): -vm C: \ Program Files \ Java \ jdk1.7.0_03 \ bin \ javaw.exe

Пример:

-startup

плагинов / org.eclipse.equinox.launcher_1.1.0.v20100507.jar

- launcher.library

плагинов / org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810

-showsplash

org.eclipse.platform

- launcher.XXMaxPermSize

256m

- launcher.defaultAction

OpenFile

-vm C: \ Program Files \ Java \ jdk1.7.0_03 \ bin \ javaw.exe

-vmargs

-Xms40m

-Xmx384m

1 голос
/ 12 марта 2012

Та же проблема, с которой я столкнулся, когда впервые запустил затмение. Просто измените значение " –launcher.XXMaxPermSize " в файле eclipse.ini ..

eclipse.iniТеперь файл должен выглядеть так:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
–launcher.defaultAction
openFile
–launcher.XXMaxPermSize
–showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256m
–launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
1 голос
/ 03 марта 2011

Sun JVM требуется постоянный блок памяти. В Windows это может быть проблемой из-за dll-rebasing. http://www.drdobbs.com/184416272;jsessionid=HJJRNPUURRDIZQE1GHPCKHWATMY32JVN

Есть что-то еще изменилось?

У нас была похожая проблема, мы установили на нее несколько новых приложений (думаю, это была Citrix). Инструмент, который мы использовали, был отсюда http://www.codeproject.com/KB/DLL/RebaseDLLs.aspx (загрузите код и измените)

Если он вам предоставлен, рассмотрите возможность перехода на 64-битную JVM.

1 голос
/ 03 марта 2011

Есть несколько сайтов, перечисляющих эту ошибку, которые различают кучу и пространство перми.Если вы используете это через eclipse, попробуйте удалить значение perm space по умолчанию в файле eclipse.ini: --launcher.XXMaxPermSize 256m

0 голосов
/ 30 ноября 2013

Сначала я попытался внести изменения в файл eclipse.ini, как здесь было сказано, но это не помогло.

Я просто удалил этот .ini файл, он помог, и Eclipse запустился.

0 голосов
/ 18 ноября 2012

Изменение файла before на:

"-vm C:\Program Files\Java\jdk1.7.0_03\bin\javaw.exe" 

решает проблему, упомянутую ранее

0 голосов
/ 03 марта 2011

Вы пытались переустановить Java? Возможно также обновить до последней версии.

...