Ошибка Maven: переменная среды JAVA_HOME не установлена

Я пытаюсь установить Maven на свой Mac, следуя этому руководству. Он дал мне следующие инструкции:

Установка переменных среды — JAVA_HOME и путь:

Откройте .bash_profile и добавьте в его конец следующие записи:

JAVA_HOME = "/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home"
PATH = "${JAVA_HOME}/bin:${PATH}"
export PATH

Затем следующий шаг Установка переменных среды Maven — M2_HOME и путь

Откройте .bash_profile в своем любимом текстовом редакторе и добавьте в его конец следующие строки.

export M2_HOME = "/Users/pankaj/Downloads/apache-maven-3.6.3"
PATH = "${M2_HOME}/bin:${PATH}"
export PATH

Итак, теперь мой окончательный профиль выглядит так:

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
export NVM_DIR = "$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
JAVA_HOME = "/library/java/javavirtualmachines/amazon-corretto-8.jdk/contents/home"
PATH = "${JAVA_HOME}/bin:${PATH}"
export PATH
export M2_HOME = "/users/khaled/desktop/repos/identity-theft-protection-binaries/apache-maven-3.1.1"
PATH = "${M2_HOME}/bin:${PATH}"
export PATH

Однако, когда я запускаю «mvn -version» в своем терминале, я получаю следующий вывод:

readlink: illegal option -- f
usage: readlink [-n] [file ...]
Warning: JAVA_HOME environment variable is not set.
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
Maven home: /users/khaled/desktop/repos/identity-theft-protection-binaries/apache-maven-3.1.1
Java version: 1.8.0_275, vendor: Amazon.com Inc.
Java home: /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac"

В 3-й строке написано JAVA_HOME environment variable is not set., а в 7-й строке написано Java home: /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/jre

Я неправильно указал его в своем профиле? Могу ли я определить PATH дважды таким образом и экспортировать его дважды? Или это неправильно?

Примечание. В учебнике, который я использовал, предполагается, что я использую bash, но я использую zsh.

Что произойдет, если вы добавите экспорт перед переменной java_home? export JAVA_HOME = "/your/path/to/java"?

moffeltje 22.12.2020 15:13

@moffeltje о, вот и все! Я думаю, что учебник, который я использовал, просто упустил это, большое спасибо!

DevKLiD 22.12.2020 15:23

Без проблем! Я добавил это как ответ, пожалуйста, примите, если это помогло вам.

moffeltje 22.12.2020 15:38
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
1 679
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, вы не экспортируете переменную JAVA_HOME в свой ZSH.

Попробуйте добавить export перед переменной JAVA_HOME следующим образом:

export JAVA_HOME = "/library/java/javavirtualmachines/amazon-corretto-8.jdk/contents/home"

Другие вопросы по теме