Skip to main content 41q.ru

Как Поставить 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

Ссылки