Переменная среды JAVA_HOME определена неправильно Эта переменная среды необходима для запуска этой программы

#maven

Вопрос:

Когда я запускаю команду mvn-версия в командной строке, я получаю следующую ошибку: Переменная среды JAVA_HOME определена неправильно, Эта переменная среды необходима для запуска этой программы ПРИМЕЧАНИЕ: JAVA_HOME должен указывать на JDK, а не на JRE

Пожалуйста, помогите мне понять, почему он так говорит. Я добавил JDK 11 в свою среду до пути к бину

введите описание изображения здесь

Комментарии:

1. Из чего получается результат echo %JAVA_HOME% ?

2. Я получил C:Program ФайлыJavajdk-11.0.10bin; при запуске этого сценария

Ответ №1:

Пожалуйста, обратите внимание:

  • это не очень хорошая практика, когда JAVA_HOME содержит пробелы. Это всегда вызывает странные эффекты при очистке оболочки.
  • он должен ссылаться на каталог, в котором развернут JDK
  • он не должен включать bin каталог.

Я всегда устанавливаю для него имя progra~1 каталога «Program Files» в формате 8.3. Например:

JAVA_HOME=C:PROGRA~1Javajdk1.8.0_172

Найдите фактическое имя 8.3 под управлением: dir c: /x

Ответ №2:

Обычно JAVA_HOME не содержит bin части пути.

Ваш JAVA_HOME должен быть установлен на что-то вроде C:Program FilesJavajdk-11.0.10 , и ваш PATH должен включать что-то вроде %JAVA_HOME%bin .