Конфигурация Eclipse JVM
-
05-07-2019 - |
Вопрос
Фон:У меня есть новая установка 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 или предложит их для загрузки.
Другие советы
Невероятно, но решение этой проблемы для меня не имеет ничего общего с косыми чертами, обратными косыми чертами, кавычками, пробелами, 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.
Моя проблема заключалась в том, что -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.