JAVA_HOME должен указывать на JDK, а не на JRE

Я пытаюсь настроить maven для моего проекта, и я получаю эту ошибку

"JAVA_HOME должен указывать на JDK, а не на JRE"

Я знаю, что уже есть аналогичный вопрос, но это не сработало. Как указать JAVA_HOME в JDK в Windows. Я использую IntelliJ IDEA

Ответ 1

Панель управления → Система и безопасность → Система → Расширенные настройки системы → Дополнительно → Переменные среды → Новая системная переменная

enter image description here

Ответ 2

Я просматриваю тот же процесс на 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, и она сработала.

Ответ 3

сделайте это через cmd -

echo% JAVA_HOME% set set JAVA_HOME = C:\Program Files\Java\jdk1.8.0 echo% JAVA_HOME%

Ответ 4

если у вас есть переменная среды 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; И это работает

Ответ 5

Я встретил ту же проблему. (Среда 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.

Ответ 6

Я потратил 3 часа на решение проблемы. Переменная среды JAVA_HOME не определена правильно. Эта переменная среды необходима для запуска этой программы. NB: JAVA_HOME должен указывать на JDK, а не на JRE

Наконец, я получил решение. Укажите значение JAVA_HOME помощью кнопки/опции Browse Directory. Попробуйте найти путь jdk. Пример: C:\Program Files\Java\jdk1.8.0_181

Он удалит проблему с точкой с запятой. : D Browse Directory option

Ответ 7

Я добавил путь JAVA_HOME в пользовательскую переменную и опустил "/bin". Я попробовал все методы, приведенные здесь, но только это сработало для меня.

Ответ 8

В 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. а также спасает вас от будущих ошибок

Ответ 9

В IntelliJ IDEA откройте " File>Project Structure>SDK>JDK home path. Скопируйте его, а затем перейдите в " My Computer>Advanced Settings>Environment Variables Измените путь JAVA_HOME на то, что вы скопировали. Затем откройте новый cmd и попробуйте mvn -v

Это сработало для меня !!!

Ответ 10

Добавить JAVA_HOME = C:\Program Files\Java\jdk(version) в пользовательской переменной, это работает для меня. Для меня это не работает с bin и даже если я создаю JAVA_HOME в системной переменной

Ответ 11

просто удалите точку с запятой в конце значения переменной JAVA_HOME.

set JAVA_HOME as C:\Program Files\Java\jdk1.8.0_171

Это сработало для меня.

Ответ 12

Убедитесь, что у вас нет пути JRE, если вы его удалили.

  1. Добавьте JAVA_HOME в JAVA_HOME переменную. Значение переменной: C:\Program Files\Java\jdk-10.0.2 (расположение JDK без bin)
  2. Добавьте M2 в системную переменную. Значение переменной: C:\dev\maven\apache-maven-3.5.4\bin (расположение maven с bin)
  3. Добавьте M2_HOME в M2_HOME переменную. Значение переменной: C:\dev\maven\apache-maven-3.5.4 (расположение maven без bin)
  4. Добавьте %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, но тем не менее это работает для меня.

Ответ 13

В дополнение к ответу sovas о том, как добавить переменную JAVA_HOME, если она работала раньше и перестала работать, убедитесь, что путь все еще существует. Я недавно обновил Java, который удалил старую версию, сделав недействительной мою переменную среды JAVA_HOME.

Ответ 14

У меня была эта проблема, но для Mac Os я установил переменную JAVA_HOME в .bash_profile для export JAVA_HOME=$(/usr/libexec/java_home) затем сохранил. После этого запустил source ~/.bash_profile наконец, mvn -version и это mvn -version проблему. надеюсь, это поможет

Ответ 15

Под Системными Переменными добавьте ниже

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%

Ответ 16

Это сработало для меня для Windows 10, Java 8_144.

Если путь содержит пробелы, используйте сокращенное имя пути. Например, C:\Progra ~ 1\Java\jdk1.8.0_65

Ответ 17

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"

Ответ 18

Во-первых, убедитесь, что корзина Maven находится в вашей записи PATH переменной среды.

Если это так, убедитесь, что ваши записи не находятся в каком-то порядке, и что JAVA_HOME стоит перед Path в списке или любой записи, которая ссылается на% JAVA_HOME%. Я получал ту же ошибку, когда пытался проверить версию maven.

У меня есть несколько дополнительных переменных пути, которые ссылаются на% JAVA_HOME%, или между ними была смешана другая версия JDK и Maven. Я переместил запись пути Maven ниже моего% JAVA_HOME% one, и теперь все работает, когда я использую Maven из cmd.

Но это Windows, так что, возможно, просто открыв и закрыв настройку Environment Variables, все улучшилось.

Ответ 19

Предполагая, что Java JDK установлен в C:\Windows\System32, добавьте этот каталог в переменную среды Path, и он должен работать