Рубрики
Без рубрики

Как установить переменную среды $JAVA_HOME в mac OS

Для оболочки zsh экспортируйте $JAVA_HOME в `~/.zshenv` или `~/.zshrc`; Для оболочки bash экспортируйте $JAVA_HOME в `~/.bash_profile` или `~/.bashrc`

В этой статье показано, как установить переменную среды $JAVA_HOME в старых версиях Mac OS X и последней версии mac OS 11.

Темы

  1. история выпуска mac OS
  2. Что такое/usr/libexec/java_home
  3. $$JAVA_HOME и mac OS 11 Биг Сур
  4. $JAVA_HOME и Mac OS X 10.5 Леопард
  5. $JAVA_HOME и более старые версии Mac OS X
  6. Переключение между различными версиями JDK

Решение Шаги по установке переменной среды $JAVA_HOME в mac OS.

  1. Узнайте свою версию macOS.
  2. Узнайте, какую оболочку вы используете, bash или zsh?
  3. Для оболочки zsh экспортируйте $JAVA_HOME в ~/.zshenv или ~/.zshrc .
  4. Для оболочки bash экспортируйте $JAVA_HOME в ~/.bash_profile или ~/.bashrc .
  5. Протестируйте с помощью echo $JAVA_HOME .
  6. Сделано.

Связанный Прочтите это – Как установить Java JDK на macOS

1. история выпуска mac OS, bash или zsh?

1.1 Просмотрите историю выпуска macOS, источник Википедия – macOS .

  1. Публичная бета-версия Mac OS X
  2. Mac OS X 10.0 для Mac OS X 10.0 (Гепард)
  3. Mac OS X 10.1 (Пума)
  4. Mac OS X 10.2 Ягуар
  5. Mac OS X 10.3 Пантера
  6. Mac OS X 10.4 Тигр
  7. Mac OS X 10.5 Леопард
  8. Mac OS X 10.6 Снежный Барс
  9. Mac OS X 10.7 Лев
  10. OS X 10.8 Горный лев
  11. ОПЕРАЦИОННАЯ СИСТЕМА X 10.9 Индивидуалисты
  12. ОПЕРАЦИОННАЯ СИСТЕМА X 10.10 Йосемити
  13. OS X 10.11 капитан
  14. macOS 10.12 Sierra
  15. macOS 10.13 Высокая Сьерра
  16. macOS 10.14 Мохаве
  17. macOS 10.15 Каталина (zsh)
  18. macOS 11 Биг Сур (zsh)

1.2 баш или zsh? В macOS 10.15 Catalina и более поздних версиях оболочка терминала по умолчанию переключается с втулки (Борн – снова снаряд) к зш (Оболочка Z).

  • Для оболочки bash мы можем поместить переменные среды в ~/.bash_profile или ~/.bashrc .
  • Для оболочки zsh мы можем поместить переменные среды в ~/.zshenv или ~/.zshrc .

Мы можем распечатать переменную среды $SHELL , чтобы определить текущую используемую вами оболочку.

% echo $SHELL

/bin/zsh

Дальнейшее Чтение

2. Что такое/usr/libexec/java_home

2.1 В Mac OS X 10.5 или более поздней версии мы можем использовать /usr/libexec/java_home для возврата местоположения JDK по умолчанию.

% /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home  

2.2 Кроме того, найдите все установленные JDK.

% /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    16 (x86_64) "Oracle Corporation" - "OpenJDK 16-ea" /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
    15.0.1 (x86_64) "UNDEFINED" - "OpenJDK 15.0.1" /usr/local/Cellar/openjdk/15.0.1/libexec/openjdk.jdk/Contents/Home
    14.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 14" /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
    1.8.0_275 (x86_64) "UNDEFINED" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+275/libexec/openjdk.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home  

2.3 Кроме того, выполните указанную команду JDK.

% /usr/libexec/java_home -v1.8

/usr/local/Cellar/openjdk@8/1.8.0+275/libexec/openjdk.jdk/Contents/Home  

3. $$JAVA_HOME и mac OS 11 Биг Сур

На macOS 10.15 Каталина и более поздние версии, зш является оболочкой терминала по умолчанию, и мы можем установить переменную среды $JAVA_HOME в любом ~/.zshenv или ~/.zshrc .

3.1Откройте ~/.zshenv

% nano ~/.zshenv

3.2 Добавьте следующее содержание

export JAVA_HOME=$(/usr/libexec/java_home)

3.3 Создайте исходный файл и распечатайте $JAVA_HOME , готово.

% source ~/.zshenv

% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home  

4. $JAVA_HOME и Mac OS X 10.5 Леопард

Для более старых Mac OS X оболочка терминала по умолчанию bash , и мы можем установить переменную среды $JAVA_HOME в любом ~/.bash_profile или ~/.bashrc .

4.1 Откройте ~/.bash_профиль

% nano ~/.bash_profile

4.2 Добавьте следующий контент

export JAVA_HOME=$(/usr/libexec/java_home)

4.3 Создайте исходный файл и распечатайте $JAVA_HOME

% source ~/.bash_profile

% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home  

5. $JAVA_HOME и более старые версии Mac OS X

В более старой версии Mac OS X инструмент /usr/libexec/java_home не существует, и нам нужно установить $JAVA_HOME на реальный путь.

5.1Откройте ~/.bash_профиль

% nano ~/.bash_profile

5.2 Добавьте следующий контент

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

5.3 Создайте исходный файл и распечатайте $JAVA_HOME

% source ~/.bash_profile

% echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

6. Переключение между различными версиями JDK

Например, эта macOS содержит четыре JDK: 1.8, 14, 15 и 16, а JDK по умолчанию равен 16.

% /usr/libexec/java_home -V

Matching Java Virtual Machines (4):
  16 (x86_64) "Oracle Corporation" - "OpenJDK 16-ea" /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
  15.0.1 (x86_64) "UNDEFINED" - "OpenJDK 15.0.1" /usr/local/Cellar/openjdk/15.0.1/libexec/openjdk.jdk/Contents/Home
  14.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 14" /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
  1.8.0_275 (x86_64) "UNDEFINED" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+275/libexec/openjdk.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home

6.1 Для zsh оболочки отредактируйте ~/.zshenv

% nano ~/.zshenv

6.2 /usr/libexec/java_home -v"{$Версия}" для активации указанной версии JDK.

Добавьте следующее содержимое для активации JDK 1.8

export JAVA_HOME=$(/usr/libexec/java_home -v1.8)

Если мы хотим JDK 14.

export JAVA_HOME=$(/usr/libexec/java_home -v14)

Если мы хотим JDK 15.

export JAVA_HOME=$(/usr/libexec/java_home -v15)

6.3 Создайте исходный файл и распечатайте $JAVA_HOME , готово.

% source ~/.zshenv

% echo $JAVA_HOME
/usr/local/Cellar/openjdk@8/1.8.0+275/libexec/openjdk.jdk/Contents/Home

Рекомендации

Оригинал: “https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/”