Подтвердить что ты не робот

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

У меня есть проблема с m2eclipse (0.10.0) вместе с eclipse galileo (Build id: 20090920-1017).

Я всегда получаю сообщение об ошибке: "Eclipse работает в JRE, но требуется JDK". Я пробовал несколько вещей, но ничего не работает. Сообщение об ошибке все еще существует. Вот что я пробовал:

  • В окне > Настройки > Java > Установленные JRE Я проверил JDK1.6.0_20. НЕ РАБОТАЕТ

  • В окне > Настройки > Java > Установленные JRE Я удалил все JRE. Остается только проверенный JDK1.6.0_20. НЕ РАБОТАЕТ

  • В окне > Настройки > Java > Установленные JRE > Среда выполнения Я выбрал JavaSE-1.6 и проверил JDK1.6.0_20 [идеальное совпадение]. НЕ РАБОТАЕТ.

  • В настройках значка запуска рабочего стола eclipse я добавил параметр -vm (C:\Program\eclipse_galileo\eclipse\eclipse.exe -vm C:\Program\Java\jdk1.6.0_20\bin). НЕ РАБОТАЕТ.

  • Я добавил чистый параметр (C:\Program\eclipse_galileo\eclipse\eclipse.exe -vm C:\Program\Java\jdk1.6.0_20\bin -clean). НЕ РАБОТАЕТ.

  • Я добавил параметр -vm в файл eclipse.ini с возвратом каретки после -vm и C:/Programme/Java/jdk1.6.0_20/bin/javaw.exe в новой строке. НЕ РАБОТАЕТ.

  • После выполнения всех этих действий я удалил плагин m2eclipse и установил его еще раз. НЕ РАБОТАЕТ.

Новые идеи, которые я пробовал:

  • В настройках значка запуска рабочего стола eclipse я помещаю исполняемый файл в конец (C:\Program\eclipse_galileo\eclipse\eclipse.exe -vm C:\Program\Java\jdk1.6.0_20\bin\javaw.exe). НЕ РАБОТАЕТ.

  • Я изменил в eclipse.ini слэши на обратную косую черту. НЕ РАБОТАЕТ.

Вот мой файл eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.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:\Programme\Java\jdk1.6.0_20\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Есть ли у кого есть другие идеи? Любая помощь приветствуется.

Большое спасибо. GernoK

4b9b3361

Ответ 1

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

Ответ заключается в том, что у вас должен быть разрыв строки между

-vm

и путь.

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

ЭТО НЕ РАБОТАЕТ:

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

НО ЭТО БУДЕТ:

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

Ответ 2

MARIO-ORTEGON ответил, что это правильный ответ на эту проблему. Единственное, что вам нужно сделать, это переместить эту строку "-vm C:\java\jdk\bin\javaw.exe" в разделе -product org.eclipse.epp.package.jee.product в eclipse.ini. как это: -продукт org.eclipse.epp.package.jee.product -vm C:\Java\JDK\Bin\javaw.exe сохранить и перезапустить затмение. Ошибка исчезнет.

Ответ 3

Я думаю, что это ответы, необходимые при редактировании файлов eclipse.ini или STS.ini:

Многие люди делают эти ошибки, потому что они делают определенные предположения (что неверно):

  • Ошибка №1: Запись параметров в одной строке. В отличие от командной строки JVM, Eclipse ожидает, что каждый параметр будет помещен в другую строку в файле eclipse.ini. Одна из наиболее распространенных ошибок (которая должна быть записана в 2 отдельных строках):

    -vm c:/Java/jdk1.6.0_31/bin/javaw.exe

  • Ошибка № 2: Запись -vm и -vmargs в неправильном порядке. Последовательность имеет значение. -vmargs должен быть помещен перед -vm. Зачем? Поскольку после указания -vm, VM будет полностью указана, а остальные -vmargs будут проигнорированы.

  • Ошибка №3: ​​Предполагая, что eclipse.ini останется прежним, если вы его не измените. Некоторые установки плагинов могут иметь автоматическую конфигурацию (которая после перезапуска автоматически меняет файл eclipse.ini или другой файл конфигурации .ini, например STS.ini, если вы используете SpringSource Tool Suite, например), они будут без разбора добавлять vm до -vmargs. Проверьте двойное появление -vm или -vmargs.

  • Ошибка # 4: указание на путь JVM вместо бинарного файла при указании -vm. Eclipse ожидает двоичный Java JVM, а не только путь JAVA_HOME, например. -vm c:/Java/jdk1.6.0_31/bin/javaw.exe не просто -vm c:/Java/jdk1.6.0_31

Для исходного вопроса кажется, что причиной является Ошибка №2. Вместо того, чтобы один, вы должны переместить -vm до конца, после -vmargs:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.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:\Programme\Java\jdk1.6.0_20\bin\javaw.exe

Ответ 4

У меня была та же проблема с сообщением Eclipse о том, что он работает в JRE (Win7 x64, 32 Bit JDK 1.6 update 21), хотя я указывал, что он должен использовать JDK.

Наконец, удален JRE6, который можно установить с помощью JDK, и сообщение исчезло.

Кто-то с более глубоким пониманием Windows должен будет объяснить, почему он это делает, но, по-видимому, игнорирует параметр eclipse.ini, а также JAVA_HOME и начинает затмение в JRE.

Мой eclipse.ini:

-vm
C:/Java/jdk1.6.0_21/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
-nosplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms32m
-Xmx1024m
-Xss6m
-XX:PermSize=32m
-XX:MaxPermSize=256m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseParallelGC
-XX:+AggressiveOpts
-Dcom.sun.management.jmxremote

JAVA_HOME

C:\Windows\system32>echo %JAVA_HOME%
C:\Java\jdk1.6.0_21

Ответ 5

Я думаю, что вы должны явно добавить исполняемый файл в аргумент -vm:

C:\Programme\eclipse_galileo\eclipse\eclipse.exe -vm C:\Programme\Java\jdk1.6.0_20\bin\javaw

Что касается файла ini, это зависит от полного содержимого. Что содержит ваш ini файл?

Ответ 6

Поместите эти строки в начало файла eclipse.ini:

-vm
G:/dev/jdk1.6.0_19/bin/javaw.exe

Ответ 7

Я получаю то же сообщение об ошибке, как только удаляю эти две строки

-vm
C:\Programme\Java\jdk1.6.0_10\bin\javaw.exe

из моего файла eclipse.ini. Возможно, вы должны использовать обратную косую черту в этом eclipse.ini.

Ответ 8

Здесь задействованы два JVM; тот, с которым работает Eclipse, и один (или более), в котором работают разные проекты в рабочей области. Я думаю, что это сообщение относится к JVM, в котором работает Eclipse. Таким образом, решение не содержится в "Установленных JREs" в Eclipse. Это JVM, что на вашем пути в Windows.

Ответ 9

Java может найти свои файлы, используя переменную среды JAVA_HOME. Попробуйте изменить его на C:\Programme\Java\jdk1.6.0_20

В Windows XP это находится на вкладке "Панель управления", "Система", "Дополнительно", "Переменные среды".

Ответ 10

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

-vm E:\java\jdk1.6\jre\bin\client\jvm.dll

Ответ 11

Удалите JRE, оставив ТОЛЬКО JDK и частную JRE. Запустите Eclipse, и он сразу же пожалуется, что не может найти JRE или JDK (при условии, что опция -vm отсутствует или неверна в вашем ini).

Теперь поместите путь -vm в javaw в ваш ini файл, сохраните и Eclipse теперь загрузит JDK.

Я действительно пошел вперед и удалил все Java, а затем переустановил JDK 6, оставив публичную JRE и часть базы данных установки.

Ответ 12

Метод удаления - это единственное, что сработало для меня. Никакой магии -vm не произошло, пока я не установил JDK.

Ответ 13

У меня была такая же проблема, но она была решена. Добавьте опцию -vm в качестве первой строки в файле eclipse.ini, и она будет работать.

Ответ 14

У меня тоже была эта проблема. Эта проблема исчезла при обновлении до Eclipse Indigo. Поэтому попробуйте с более высокой версией.

Ответ 15

Проверьте установленную настройку JRE Eclipse. Он должен указывать на JDK, а не на JRE. Хотя это установка JRE. Помните, что JDK содержит JRE, и когда Maven работает, он пытается найти JDK в основном tools.jar.