概要
普段sdkmanでJavaを管理しているが、sdk list java
で検索した中に自分の入れたいバージョンがない場合の対処方法の記事です。
やり方
適当に必要なJDKをインストールします。どんなやり方でもいいです。
ここでは、OpenJDKのサイトから取ってきます。
以下のサイトから、ダウンロードします。 利用したいバージョンを環境に合わせて取得すれば良いです。自分はシリコンMacなので、Mac/AArch64
を使います。
https://jdk.java.net/archive/
今回は、19.0.1を使います。取得したtargzを解凍し、適当な場所に置きます。
$ sudo mv ~/Downloads/jdk-19.0.1.jdk /Library/Java/JavaVirtualMachines/
次は、インストールしたsdkをSDKMANに認識させます。これだけです。ポイントは、19.0.1-openjdk
のようにバージョンを先に書くことです。
$ sdk install java 19.0.1-openjdk /Library/Java/JavaVirtualMachines/jdk-19.0.1.jdk/Contents/Home
試します。
$ sdk list java
Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------
Unclassified | | 19.0.1 | none | local only | 19.0.1-openjdk
Versionに19.0.1と出ているのは、コマンドで19.0.1-openjdk
と入力したからです。これを openjdk-19.0.1
にするとVersionがopenjdkになってしまいます。
使ってみます。
$ sdk use java 19.0.1-openjdk
Using java version 19.0.1-openjdk in this shell.
$ java -version
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
openjdk version "19.0.1" 2022-10-18
OpenJDK Runtime Environment (build 19.0.1+10-21)
OpenJDK 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
使われてますね。
javaの場所はこんな感じで、sdkmanディレクトリをちゃんとみてます。
$ which java
~/.sdkman/candidates/java/19.0.1-openjdk/bin/java
アンインストールも他と同じようにSDKMANのコマンドでできます
$ sdk uninstall java 19.0.1-openjdk