Вопрос

Фон:У меня есть новая установка eclipse и установлен плагин m2eclipse.После запуска m2eclipse генерирует сообщение:

Eclipse работает в JRE, но JDK требуется

Следуя инструкциям от здесь Я изменил файл eclipse.ini, чтобы использовать JDK JVM:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-vm
"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"

Однако после перезапуска eclipse я все еще получаю сообщение о том, что оно работает под JRE, а не под JDK.

Глядя на конфигурацию eclipse через Справка -> О Eclipse -> Подробности установки -> Конфигурация похоже, что eclipse собирает детали конфигурации JVM откуда-то еще:

...
-vm
C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
eclipse.home.location=file:/C:/Program Files (x86)/eclipse/
eclipse.launcher=C:\Program Files (x86)\eclipse\eclipse.exe
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=epp.package.jee
eclipse.product=org.eclipse.epp.package.jee.product
eclipse.startTime=1252669330296
eclipse.vm=C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-vm
"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"
-XX:MaxPermSize=256m
...

Мой вопрос: где первый -вм исходящий аргумент и как его удалить или изменить?

Спасибо

Обновлять:Я обновил файл eclipse.ini согласно ответу VonC.Теперь я получаю сообщение об ошибке при запуске eclipse:

Для запуска Eclipse должна быть доступна среда выполнения Java (JRE) или комплект разработки Java (JDK).После поиска в следующих местах виртуальная машина Java не найдена:"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"

Я подтвердил, что путь правильный и его можно выполнить через командную строку.

Заполните eclipse.ini ниже:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Решение: похоже, что с файлом eclipse.ini все еще что-то не так.Я полностью заменил его настройками, указанными VonC в посте, на который он ссылается, и теперь затмение запускается правильно и использует правильную JVM.Полный файл eclipse.ini ниже для всех, у кого такая же проблема:

-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
C:\Program Files (x86)\Java\jdk1.6.0_16\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins
Это было полезно?

Решение

Видеть:

для примера порядка параметров.

-vm должно быть раньше -vmargs


Обновление 6 лет спустя (2015)

Э Риз упоминает в комментариях что новый установщик Eclipse определит для вас JVM или предложит их для загрузки.

https://www.eclipse.org/downloads/assets/public/images/installer-instructions-04.png

Другие советы

Невероятно, но решение этой проблемы для меня не имеет ничего общего с косыми чертами, обратными косыми чертами, кавычками, пробелами, jre, jdk, jvm, javaw,....

Ответ в том, что вам нужен разрыв строки между -vm и путь.

Итак, в файле eclipse.ini:

ТАК НЕ ПОЙДЕТ:

-vm C:\java\jdk\bin\javaw.exe

НО ЭТО БУДЕТ:

-vm
C:\java\jdk\bin\javaw.exe

Я думаю, что на вашей машине 64-битная Windows?

Я не вижу на сайте 64-битную версию eclipse для Windows.Таким образом, может быть доступна только 32-битная версия.Вы уверены, что на вашем компьютере установлен 32-битный JDK?Просто мысль...

Это также рассматривается в документации Eclipse:https://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example

Если вы используете Windows, щелкните правой кнопкой мыши ярлык затмения и выберите «Свойства». На вкладке «Ярлык» вы можете изменить то, что находится в цели:поле для указания файла jdk.я использую

"C: Program Files Eclipse -Jee -Galileo -Sr1 (3.5.1) eclipse.exe" -vm "C: Program Files java jdk1.6.0_16 bin javaw.exe" -vmargs -xmx1024m -Xx: permsize = 256m -xx: maxpermsize = 512m -xx:+useconcmarksweepgc -xx:+cmsincrementalmode По какой -то причине я не мог заставить его использовать JDK, когда я попытался редактировать файл eclipse.ini.

Как запустить затмение в JDK?

Моя проблема заключалась в том, что -VM "C: Program Files Java jdk1.7.0_67 jre bin javaw.exe"

путь был в кавычках, когда я удалил кавычки, все сработало:

-vm c: program files java jdk1.7.0_67 jre bin javaw.exe

Вы должны указать полный путь к javaw.exe после аргумента -vm без использования двойных кавычек, т.е."", каждый из -vm и путь должны быть в разных строках, а -vm должен быть перед -vmargs.Например:

-vm
C:\Program Files\Java\jrockit-jre1.6.0_45-R28.2.7\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
-XX:+UnlockDiagnosticVMOptions
-XX:MaxClassBlockMemory=75M

Я решаю этот вопрос.

Когда вы создаете проект Maven в Eclipse, возможно, кодировка текстового файла в свойствах этого проекта и project.build.sourceEncoding в pom.xml было не то же самое.Когда вы создаете этот проект, он также сообщает об ошибке «Невозможно найти компилятор Javac в:...».

Например, моя кодировка текстового файла была GBK и project.build.sourceEncoding был UTF-8, поэтому произошла эта ошибка.Я только что изменил кодировку текстового файла на UTF-8.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top