В этой статье показано, как установить переменную среды $JAVA_HOME
в старых версиях Mac OS X и последней версии mac OS 11.
Темы
- история выпуска mac OS
- Что такое/usr/libexec/java_home
- $$JAVA_HOME и mac OS 11 Биг Сур
- $JAVA_HOME и Mac OS X 10.5 Леопард
- $JAVA_HOME и более старые версии Mac OS X
- Переключение между различными версиями JDK
Решение Шаги по установке переменной среды $JAVA_HOME
в mac OS.
- Узнайте свою версию macOS.
- Узнайте, какую оболочку вы используете, bash или zsh?
- Для оболочки zsh экспортируйте
$JAVA_HOME
в~/.zshenv
или~/.zshrc
. - Для оболочки bash экспортируйте
$JAVA_HOME
в~/.bash_profile
или~/.bashrc
. - Протестируйте с помощью
echo $JAVA_HOME
. - Сделано.
Связанный Прочтите это – Как установить Java JDK на macOS
1. история выпуска mac OS, bash или zsh?
1.1 Просмотрите историю выпуска macOS, источник Википедия – macOS .
- Публичная бета-версия Mac OS X
- Mac OS X 10.0 для Mac OS X 10.0 (Гепард)
- Mac OS X 10.1 (Пума)
- Mac OS X 10.2 Ягуар
- Mac OS X 10.3 Пантера
- Mac OS X 10.4 Тигр
- Mac OS X 10.5 Леопард
- Mac OS X 10.6 Снежный Барс
- Mac OS X 10.7 Лев
- OS X 10.8 Горный лев
- ОПЕРАЦИОННАЯ СИСТЕМА X 10.9 Индивидуалисты
- ОПЕРАЦИОННАЯ СИСТЕМА X 10.10 Йосемити
- OS X 10.11 капитан
- macOS 10.12 Sierra
- macOS 10.13 Высокая Сьерра
- macOS 10.14 Мохаве
- macOS 10.15 Каталина (zsh)
- 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
Рекомендации
- Важные каталоги Java в Mac OS X
- Файлы запуска Zsh .
- Узнайте, какая mac OS ваш компьютер Mac использует
- Что должно/не должно входить в .zshenv, .zshrc, .zlogin, .z профиль, .выход из системы?
- Википедия mac OS
- Как установить Java JDK на Mac OS
Оригинал: “https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/”