SDKMANでJava JDK のバージョン管理が楽になる

SDKMANでJava JDK のバージョン管理が楽になります。

sdkman.io

SDKMANのインストール

インストールは簡単で、公式の通り以下を実行して手順にしたがってターミナル再起動を行ってください。

curl -s "https://get.sdkman.io" | bash

以下の通り、SDKMANのバージョンが出たらインストール完了です。

$ sdk version

SDKMAN 5.18.1

使い方

インストール後、 sdk list java を実行すると以下のような画面が出てきて、どのJavaをインストールするのか選べます。

今、私の環境は 21-amzn なのがわかりました(以前からインストールしていたので残っていました)。

21-open に変更してみたいと思います。

$ sdk install java 21-open

Downloading: java 21-open

In progress...

############################################################################################################################################################################################################ 100.0%

Repackaging Java 21-open...

Done repackaging...

Installing: java 21-open
Done installing!

Do you want java 21-open to be set as default? (Y/n): Y

Setting java 21-open as default.

$ sdk current java

Using java version 21-open

これで、21-open に変わりましたね!簡単ですね!

java のバージョンをディレクトリ単位で管理する

プロジェクトごとにバージョンが違うことはよくあります。 .sdkmanrc に使うバージョンを記載することです。

$ sdk env init
.sdkmanrc created.
$ cat .sdkmanrc
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=21-open

今の私の環境では先程インストールした 21-open が使われました。

では、変えてみましょう。

最初に入れていた21-amzn に書き換えます。

まず、 ~/.sdkman/etc/config の中の sdkman_auto_env=falsetrue にします。

書き換えた上で別のターミナルから該当するディレクトリに切り替えます。

$ cd sdkman/

Using java version 21-amzn in this shell.

切り替えると、自動的に 21-amzn に切り替わりましたね。 開発環境のバージョンを揃えるのが容易になったことがわかります。