JVM言語のSDKをSDKMANというツールで異なるバージョンと共存・管理するのが流行っているように感じます。
しかしながらこのような実行環境管理ツールは OSごとに整備された通常のSDK配置とは異なるため、IntelliJ IDEAなどのIDEは自動的に検索することができません。
この記事では、SDKMANで配置されたJava Development KitをIntelliJ IDEAから利用するための手順をプログラミング初学者でも理解できるよう可能な限り丁寧に記します。
余談ですが、SDKMANの正式名称は "SDKMAN!" みたいです。この記事では基本省略しています。
そもそも初学者がSDKMANを利用するケースは (私の生徒たち以外に) 存在するのでしょうか...?
IntelliJ IDEAが利用するSDKは、IDEA上で「プロジェクトの標準設定」として直接設定する必要があります。起動時の画面下部にある Configure
より、Project Defaults > Project Structure
と進み、クリックし開きます。
Default Project Structure
というウィンドウが開かれたら、左側ペインのPlatform Settings
内のSDKs
をクリックします。
右側ペインにの上部にあるプラスボタン (Add New SDK
) をクリックし、JDK
をクリックします。
ここからは利用しているプラットフォームにより異なります。
Ubuntu等Linuxディストリビューションの場合
通常SDKMANによるJDKは/home/<yourusername>/.sdkman/candidates/java
内で管理されています。
.sdkman
ディレクトリが隠しファイルであるため、表示してあげると指定しやすくなります。
ファイルピッカー上に「隠しファイルを表示する」ボタンがあるためそれをクリックし有効にし、ファイルツリー上で上記ディレクトリを辿ります。
ディレクトリ内にインストール済みJDKが表示されるため、current
以外からIDEA上で利用したいものを選択し、OK
してください。
macOSの場合
通常SDKMANによるJDKは/Users/<yourusername>/.sdkman/candidates/java
内で管理されています。
.sdkman
ディレクトリが隠しファイルであるため、表示してあげると指定しやすくなります。
ファイルピッカーのウィンドウ上でCmd + Shift + .
のショートカットキーを入力すると、隠しファイルが表示されます。この状態のファイルツリー上で、上記ディレクトリを辿ります。
ディレクトリ内にインストール済みJDKが表示されるため、current
以外からIDEA上で利用したいものを選択し、Open
してください。
今回の場合、sdk install java
で自動的に選択, インストールされたJDKが8.0.163-zulu
だったため、これを選択しています。
OK
をクリックし、ウィンドウを閉じます。
以上でSDKMANで追加したJDKを IntelliJ IDEAに認識させることができました。
以降はJDKの追加手順から離れるため、おおまかな手順のみの解説をします。
Create New Project
などの項目からプロジェクトを作成し、Java
のテンプレートを選択した場合を想定します。
この際に右側ペインに表示されるProject SDK
という項目で、さきほど追加したJDKを選ぶことができます。
開発するプロジェクトで適切なJDKを選択し、Next
で先へ進めればよいです。
それ以外にもSDKMAN (またはそれ以外) でインストールしたJDKがある場合、または今後新たにJDKを追加した場合、同じ手順を繰り返すことでIDEAへ認識させることができます。それらを利用する際は、プロジェクト作成ウィザード上のProject SDK
から選択することができます。