2021-02-17T07:49:26.000+09:00

SDKMANでOracle JDKなどを管理させる (on macOS)

SDKMANはそれ自身で各種JDKディストリビューションをダウンロード、インストール、管理できる。
しかしOracle JDKなどSDKMAN自体は管理機能を持っていないJDKもある。

これらをSDKMANで管理させる手順。

1. 普通にインストールする。

Oracleのサイトからダウンロードして、普通にインストールする。

2. インストール先を特定する。

たとえばmacOSの場合は /Library/Java/JavaVirtualMachines にある。具体的には、

  • /Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk
  • /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk

のようなパスにある。

3. SDKMANの管理下に置く

2で特定したディレクトリ配下の /Contents/Home をSDKMANに渡す。今回はJDK 11を例に取る。
またidentifierも一緒に与える。たとえば 11.0.10-oracle のような形式。

sdk install java 11.0.10-oracle /Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home

4. 必要に応じてdefaultに設定する

さきほど設定したidentifierを渡せばよい。

sdk default java 11.0.10-oracle

あわせてよみたい

Android StudioやIntelliJ IDEAでOracle JDKを使いたい、かつSDKMANの管理配下から取りたい、という場合は下記の記事が参考になるはず。

blog.s64.jp

常にdefaultとして設定したJDKを参照するようにしたければ、JDK Locationとして $HOME/.sdkman/candidates/java/current を設定するという荒業もある。