Как поставить Openjdk на Макось
Скачать бинарник тут (jdk.java.net)
В Макоси есть директория /Library/Java/JavaVirtualMachines/ для, собственно, Джава-машин. Распакуем туда:
sh code snippet start
sudo tar -xf Downloads/openjdk* -C /Library/Java/JavaVirtualMachines/sh code snippet end
Проверяем
sh code snippet start
e41q@41qmpro ~ % java --version
openjdk 23.0.1 2024-10-15
OpenJDK Runtime Environment (build 23.0.1+11-39)
OpenJDK 64-Bit Server VM (build 23.0.1+11-39, mixed mode, sharing)sh code snippet end
Вуаля, джава установлена.
Однако, JAVA_HOME пуста. Чтобы она установилась, есть красивый способ.
Есть утилита /usr/libexec/java_home
sh code snippet start
% /usr/libexec/java_home --help
Usage: java_home [options...]
Returns the path to a Java home directory from the current user's settings.
Options:
[-v/--version <version>] Filter versions (as if JAVA_VERSION had been set in the environment).
[-a/--arch <architecture>] Filter architecture (as if JAVA_ARCH had been set in the environment).
[-F/--failfast] Fail when filters return no JVMs, do not continue with default.
[ --exec <command> ...] Execute the $JAVA_HOME/bin/<command> with the remaining arguments.
[-X/--xml] Print full JVM list and additional data as XML plist.
[-V/--verbose] Print full JVM list with architectures.
[-h/--help] This usage information.sh code snippet end
Для этого в ~/.zprofile (или ~/.zshrc, смотря какой используется) можно добавить команду
sh code snippet start
export JAVA_HOME=$(/usr/libexec/java_home)sh code snippet end
Ну и после этого, либо выполнить source ~/.zshrc в терминале или запустить новый экземпляр:
sh code snippet start
e41q@41qmpro ~ % echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-23.0.1.jdk/Contents/Home
e41q@41qmpro ~ %sh code snippet end