Mac OS で複数バージョンの Java(JDK) をインストールして使用する
macOS に複数バージョンの Java(JDK) がインストールされている場合に、目的のバージョンをデフォルトに設定する方法
macOS に複数バージョンの Java(JDK) がインストールされている場合に、目的のバージョンをデフォルトに設定する方法について見ていく。
現在デフォルトで使用中の Java バージョンを確認
まず、現在インストールされ、デフォルトで使用中の Java バージョンを確認する。
% java -version
openjdk version "17.0.4.1" 2022-08-12 LTS
OpenJDK Runtime Environment Corretto-17.0.4.9.1 (build 17.0.4.1+9-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.4.9.1 (build 17.0.4.1+9-LTS, mixed mode, sharing)
上の例では openjdk 17 を使用中であることがわかる。
インストール済みの Java バージョンを確認
次に、インストールされている Java バージョンを確認する。
% /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
17.0.4 (arm64) "Amazon.com Inc." - "Amazon Corretto 17" /Users/user/Library/Java/JavaVirtualMachines/corretto-17.0.4.1/Contents/Home
11.0.16.1 (arm64) "Azul Systems, Inc." - "Zulu 11.58.23" /Users/user/Library/Java/JavaVirtualMachines/azul-11.0.16.1/Contents/Home
/Users/user/Library/Java/JavaVirtualMachines/corretto-17.0.4.1/Contents/Home
上の内容では Java 17 と 11 の 2 つがインストールされていることがわかる。
JAVA_HOME のパスを変更
次のように JAVA_HOME のパスを変更する。
% export JAVA_HOME=$(/usr/libexec/java_home -v 11)
% source ~/.zshrc
上の例では JAVA_HOME のパスを JDK 11 に変更した。
現在使用中の Java バージョンを再確認
変更が正しく反映されたか、現在インストールされ使用中の Java バージョンをもう一度確認する。
% java -version
openjdk version "11.0.16.1" 2022-07-19 LTS
OpenJDK Runtime Environment Zulu11.58+23-CA (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM Zulu11.58+23-CA (build 11.0.16.1+1-LTS, mixed mode)
上の例のように openjdk 11 に変更されたことがわかる。
環境変数として設定
上の設定を行った後、コマンドを閉じて再度開くと、元の JDK バージョンに戻っているはずである。
設定ファイルで環境変数を変更
これを次のように設定ファイル(~/.zshrc)の環境変数に入れて、毎回変更されるようにする方法がある。
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
使用しない JDK を削除
または、使用しない JDK を次のように完全に削除してもよい。
% cd /Users/cjos/Library/Java/JavaVirtualMachines/
% sudo rm -rf corretto-17.0.4.1