[Java] macでJDKのバージョンを切り替える方法 ~ JAVA_HOMEを設定する

java Java
スポンサーリンク

こんにちは、素人エンジニアです。

この記事では、macでOracle JDKのバージョンを切り替える方法を紹介します。

開発プロジェクトごとに使用するJavaのバージョンが異なるときは、これから紹介する方法でJDKを切り替えましょう。

JDKのバージョンを切り替える手順

1. 現在使用しているJDKのバージョンをチェック
java -version

ターミナルでjava -versionを実行して、現在使用されているJavaのバージョンをチェックします。

< 例 >

% java -version
java version "16.0.1" 2021-04-20
Java(TM) SE Runtime Environment (build 16.0.1+9-24)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)

このように、javaのバージョン情報が出力されればOKです。

JDKがインストールされていない場合は、バージョン情報が出力されません。
Oracle JDKのインストール方法については、この記事で解説しましたので参考にしてください。

2. インストールされているJDKをチェック
/usr/libexec/java_home -V

このコマンドを実行すると、macにインストールされているOracle JDKの一覧が表示されます。

< 例 >

% /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    16.0.1 (x86_64) "Oracle Corporation" - "Java SE 16.0.1" /Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
    11.0.11 (x86_64) "Oracle Corporation" - "Java SE 11.0.11" /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home

今回は、11.0.11に切り替えていきます。

3. JAVA_HOMEを設定する
/usr/libexec/java_home -v "バージョン番号"

このコマンドで、指定したバージョンのJAVA_HOMEのPATHが出力されます。

< 例 >

% /usr/libexec/java_home -v "11"
/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
% /usr/libexec/java_home -v "16"
/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home

このJAVA_HOMEのPATHを通してあげることで、バージョンの切り替えが可能です。

次の二行を設定ファイル(.zshrc.bash_profileなど)に追加してください。

export JAVA_HOME=`/usr/libexec/java_home -v "11"`
PATH=$JAVA_HOME/bin:$PATH

/usr/libexec/java_home -v “11”の数字を書き換えるだけで、そのバージョンのJDKがJAVA_HOMEに設定されます。指定したバージョンがない場合は、現在設定されているJAVA_HOMEのPATHがそのまま設定されます。

設定ファイルでPATHを通す方法は、こちらの記事を参考にしてください。


最後に、魔法のコマンドsourceも忘れずに実行してください。
これをしないと反映されません。

source ~/.zshrc

4. バージョンが切り替わっているかチェック
% java -version
java version "11.0.11" 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)

java -versionを実行して、バージョン情報が切り替わっていたら完了です!

PATHを通す一連の処理は、今後何度もやることになるかもしれません。
覚えてしまってもいいかも。

コメント

タイトルとURLをコピーしました