🐶

javaを11.0.6→17にアップデートする

2024/09/26に公開

自分のjavaバージョンを調べる

java -version

openjdk 11.0.6とでました。
ZuluとはAzul Systemsは、OpenJDKというjavaのオープンソース版を独自にビルドして配布しているOpenJDKのバージョンです。OpenJDK(Java Development Kit)とはそのままで、無料で誰でも使えるJavaを動かすための開発ツールです。なのでZuluという開発キットを使用してjavaで開発しているということ。使用しているJDKはなんですかと聞かれたらZuluと答えます。

openjdk 11.0.6 2020-01-14 LTS
OpenJDK Runtime Environment Zulu11.37+17-CA (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM Zulu11.37+17-CA (build 11.0.6+10-LTS, mixed mode)

brew listでopenjdk@17がインストールされていたのを確認しました。システムがデフォルトでJava 11を使用している可能性があるみたい

JAVA_HOMEがどこを指しているのか確認すると、何も表示されなかった。正しく設定されていないっぽい

echo $JAVA_HOME

Java 17のインストールパスを確認

/usr/libexec/java_home -v 17

Java 11のパスが返されたので、やっぱり正しく設定されていない

/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home

HomebrewでインストールされたJava 17を正しく認識させるため、以下でシンボリックリンクを作成した

sudo ln -sfn $(brew --prefix openjdk@17)/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

再度インストールパスを確認するとJava11とJava17がちゃんと表示されたので、両方インストールされたことを確認できた

Matching Java Virtual Machines (2):
    17.0.7 (arm64) "Homebrew" - "OpenJDK 17.0.7" /opt/homebrew/Cellar/openjdk@17/17.0.7/libexec/openjdk.jdk/Contents/Home
    11.0.6-zulu-11.37+17 (x86_64) "Azul Systems, Inc." - "Zulu 11" /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
/opt/homebrew/Cellar/openjdk@17/17.0.7/libexec/openjdk.jdk/Contents/Home

次にHomebrewでインストールされているJava17をデフォルトに設定するため、以下のコマンドでJAVA_HOMEに設定

export JAVA_HOME=$(/usr/libexec/java_home -v 17)

確認

echo $JAVA_HOME

正しく設定できていた

/opt/homebrew/Cellar/openjdk@17/17.0.7/libexec/openjdk.jdk/Contents/Home

バージョンを再確認

java --version

更新できた!

openjdk 17.0.7 2023-04-18
OpenJDK Runtime Environment Homebrew (build 17.0.7+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.7+0, mixed mode, sharing)

Discussion