Я пытаюсь настроить maven для моего проекта, и я получаю эту ошибку
"JAVA_HOME должен указывать на JDK, а не на JRE"
Я знаю, что уже есть аналогичный вопрос, но это не сработало. Как указать JAVA_HOME в JDK в Windows. Я использую IntelliJ IDEA
Я пытаюсь настроить maven для моего проекта, и я получаю эту ошибку
"JAVA_HOME должен указывать на JDK, а не на JRE"
Я знаю, что уже есть аналогичный вопрос, но это не сработало. Как указать JAVA_HOME в JDK в Windows. Я использую IntelliJ IDEA
Панель управления → Система и безопасность → Система → Расширенные настройки системы → Дополнительно → Переменные среды → Новая системная переменная
Я просматриваю тот же процесс на Mac OSX. Я установил последний JDK, а затем установил Maven. Кто-то предложил установить переменную JAVA_HOME, поэтому я указал ее в папку установки JDK. При запуске Maven mvn compile exec:java
Я получил ту же ошибку NB: JAVA_HOME should point to a JDK not a JRE
.
Все, что я делал, не изменило переменную JAVA_HOME, и она сработала.
сделайте это через cmd -
echo% JAVA_HOME% set set JAVA_HOME = C:\Program Files\Java\jdk1.8.0 echo% JAVA_HOME%
если у вас есть переменная среды JAVA_HOME не определена правильно Эта переменная среды необходима для запуска этой программы. NB: JAVA_HOME должен указывать на JDK, а не на ошибку JRE, так что сделайте одно... тип C:> dir/x, и вы увидите PROGRA ~ 1 или May ~ 2 и After int Переменная переменная Chang JAVA_HOME Dir Like This JAVA_HOME: - C:\PROGRA ~ 1\Java\jdk1.8.0_144\также установить путь: -% JAVA_HOME%\bin; И это работает
Я встретил ту же проблему. (Среда Window 10) Я решил ее, удалив JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_161\bin" в пользовательских переменных вместо прямого добавления в системные переменные.
Затем я тестирую, что редактирование JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_161 \" тоже работало. Когда я запускаю "mvn -version" в окне командной строки, он показывает "Java home: C:\Program Files\Java\jdk1.8.0_161\jre".
В заключение я полагаю, что JAVA_HOME не должен включать каталог bin.
Я потратил 3 часа на решение проблемы. Переменная среды JAVA_HOME
не определена правильно. Эта переменная среды необходима для запуска этой программы. NB: JAVA_HOME
должен указывать на JDK, а не на JRE
Наконец, я получил решение. Укажите значение JAVA_HOME
помощью кнопки/опции Browse Directory
. Попробуйте найти путь jdk. Пример: C:\Program Files\Java\jdk1.8.0_181
Я добавил путь JAVA_HOME в пользовательскую переменную и опустил "/bin". Я попробовал все методы, приведенные здесь, но только это сработало для меня.
В Mac OS библиотека иерархии> java> JavaVirtualMachines - (внутри этой папки есть разные версии jdk) выберите нужную версию, а внутри папки jdk-version есть папка содержимого, внутри содержимого вы найдете папку "Home" объявляя $ JAVA_HOME, вы должны дать этот путь для example-
(обычные команды оболочки) открыть терминал типа vi.bash_profile (открыть имя файла bash_profile) нажмите "я", чтобы включить режим вставки укажите путь к домашней странице Java as-
export JAVA_HOME=/Library/java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
После редактирования нажмите esc, чтобы выйти из режима редактирования. затем: wq, чтобы выйти и сохранить
Это удалит JAVA_HOME, если он указывает на JDK, а не на ошибку JRE. а также спасает вас от будущих ошибок
В IntelliJ IDEA откройте " File>Project Structure>SDK>JDK home path
. Скопируйте его, а затем перейдите в " My Computer>Advanced Settings>Environment Variables
Измените путь JAVA_HOME на то, что вы скопировали. Затем откройте новый cmd и попробуйте mvn -v
Это сработало для меня !!!
Добавить JAVA_HOME = C:\Program Files\Java\jdk(version)
в пользовательской переменной, это работает для меня. Для меня это не работает с bin и даже если я создаю JAVA_HOME
в системной переменной
просто удалите точку с запятой в конце значения переменной JAVA_HOME
.
set JAVA_HOME as C:\Program Files\Java\jdk1.8.0_171
Это сработало для меня.
Убедитесь, что у вас нет пути JRE, если вы его удалили.
JAVA_HOME
в JAVA_HOME
переменную. Значение переменной: C:\Program Files\Java\jdk-10.0.2
(расположение JDK без bin)M2
в системную переменную. Значение переменной: C:\dev\maven\apache-maven-3.5.4\bin
(расположение maven с bin)M2_HOME
в M2_HOME
переменную. Значение переменной: C:\dev\maven\apache-maven-3.5.4
(расположение maven без bin)%JAVA_HOME%
и %M2%
в System System Variable или C:\Program Files\Java\jdk-10.0.2
и C:\dev\maven\apache-maven-3.5.4\bin
→ Для окон 10, просто добавьте местоположение. Для другой версии в конце поля "Значение переменной" добавьте точку с запятой, тогда местоположение Ex: ;%JAVA_HOME%;%M2%
Я не проверял, изменяет ли добавление или удаление bin, но тем не менее это работает для меня.
В дополнение к ответу sovas о том, как добавить переменную JAVA_HOME
, если она работала раньше и перестала работать, убедитесь, что путь все еще существует. Я недавно обновил Java, который удалил старую версию, сделав недействительной мою переменную среды JAVA_HOME
.
У меня была эта проблема, но для Mac Os я установил переменную JAVA_HOME в .bash_profile для export JAVA_HOME=$(/usr/libexec/java_home)
затем сохранил. После этого запустил source ~/.bash_profile
наконец, mvn -version
и это mvn -version
проблему. надеюсь, это поможет
Под Системными Переменными добавьте ниже
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_201
JDK_HOME =% JAVA_HOME%\bin
M2_HOME = C:\apache-maven-3.6.0
MAVEN_BIN =% M2_HOME%\bin
MAVEN_HOME =% M2_HOME%
Под путь Добавить эти
% M2_HOME%
% JDK_HOME%
Это сработало для меня для Windows 10, Java 8_144.
Если путь содержит пробелы, используйте сокращенное имя пути. Например, C:\Progra ~ 1\Java\jdk1.8.0_65
Windows 10 Home для меня:
Я изучаю Maven через курс удеми. Переменные среды первого раза были в порядке. Я имел на JAVA_HOME на переменную SYSTEM, как это:
D:\Install\Java\JDK-12.0.1; D:\Install\Apache Maven-3.5.4-бен-\ Apache-Maven-3.5.4
Через несколько дней, не знаю, что случилось, я начал получать:
C:\Users\Franco> mvn -version
Переменная среды JAVA_HOME не определена правильно
Эта переменная среды необходима для запуска этой программы
NB: JAVA_HOME должен указывать на JDK, а не на JRE
Попробовав все вышеперечисленное, я попытался удалить jdk-запись в SYSTEM VARIABLES и поместить ее в USER VARIABLES, так что теперь у меня есть:
JAVA_HOME на переменные пользователя: D:\Install\Java\jdk-12.0.1
JAVA_HOME в СИСТЕМНЫХ ПЕРЕМЕННЫХ: D:\Install\apache-maven-3.5.4-bin\apache-maven-3.5.4
сейчас перезагружаю CMD у меня:
C:\Users\Franco> mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20: 33: 14 + 02: 00)
Дом Maven: D:\Install\apache-maven-3.5.4-bin\apache-maven-3.5.4\bin..
Версия Java: 12.0.1, поставщик: Oracle Corporation, среда выполнения: D:\Install\Java\jdk-12.0.1
Локаль по умолчанию: en_US, кодировка платформы: Cp1252
Название ОС: "windows 10", версия: "10.0", arch: "amd64", семейство: "windows"
Во-первых, убедитесь, что корзина Maven находится в вашей записи PATH переменной среды.
Если это так, убедитесь, что ваши записи не находятся в каком-то порядке, и что JAVA_HOME стоит перед Path в списке или любой записи, которая ссылается на% JAVA_HOME%. Я получал ту же ошибку, когда пытался проверить версию maven.
У меня есть несколько дополнительных переменных пути, которые ссылаются на% JAVA_HOME%, или между ними была смешана другая версия JDK и Maven. Я переместил запись пути Maven ниже моего% JAVA_HOME% one, и теперь все работает, когда я использую Maven из cmd.
Но это Windows, так что, возможно, просто открыв и закрыв настройку Environment Variables, все улучшилось.
Предполагая, что Java JDK установлен в C:\Windows\System32, добавьте этот каталог в переменную среды Path, и он должен работать