Ответ 1
См:
для примера порядка параметров.
-vm
должен быть до -vmargs
Обновление 6 лет подрядчиков (2015)
E Riz упоминает в комментариях, что новый установщик Eclipse обнаружит JVM для вас или предложит загрузить.
Фон: у меня есть новая установка затмения и установлен плагин m2eclipse. После запуска m2eclipse генерирует сообщение:
Eclipse работает в JRE, но JDK требуется
Следуя инструкциям здесь Я изменил файл eclipse.ini, чтобы использовать JVM 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
[email protected]/../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
...
Мой вопрос в том, где находится первый аргумент -vm и как его можно удалить или изменить?
Спасибо
Обновление. Я обновил файл eclipse.ini в соответствии с ответом VonC. Теперь я получаю сообщение об ошибке при запуске eclipse:
Для запуска Eclipse должна быть доступна Java Runtime Environment (JRE) или Java Development Kit (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)
E Riz упоминает в комментариях, что новый установщик Eclipse обнаружит JVM для вас или предложит загрузить.
Невероятно, решение этой проблемы для меня не имеет ничего общего со слэшами, обратными косыми чертами, цитатами, пробелами, jre, jdk, jvm, javaw,....
Ответ заключается в том, что у вас должен быть разрыв строки между -vm
и контуром.
Итак, в файле eclipse.ini:
ЭТО НЕ РАБОТАЕТ:
-vm C:\java\jdk\bin\javaw.exe
НО ЭТО БУДЕТ:
-vm
C:\java\jdk\bin\javaw.exe
Я думаю, что ваша машина - это 64-битные окна?
Я не вижу 64-битную версию eclipse на сайте. Таким образом, может быть доступно только 32 бит. Вы уверены, что в вашем компьютере установлен 32-битный JDK? Просто мысль...
Это также описано в документации Eclipse: https://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example
Если вы используете Windows, щелкните правой кнопкой мыши по ярлыку eclipse и выберите "Свойства", на вкладке "Ярлык" вы можете изменить то, что в поле "Цель", чтобы указать 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 Compiler in:...".
Например, моя кодировка текстового файла была GBK, а project.build.sourceEncoding
- UTF-8, поэтому эта ошибка произошла. Я просто изменил кодировку текстового файла на UTF-8.