SDKMANのガイド!
1. 概要
Javaの新しいリリースサイクルでは、開発者は環境内のソフトウェア開発キット(SDK)の並列バージョンと異なるビルドを管理する必要があるかもしれません。 そのため、PATH変数を設定することは、時には非常に困難になる可能性があります。
このチュートリアルでは、SDKMANがどのように機能するかを見ていきます。 SDKのインストールと選択を簡単に管理するのに役立ちます。
2. SDKMANとは!?
候補の一覧表示、インストール、切り替え、削除に便利なコマンドラインインターフェイス(CLI)とAPIを提供します。 さらに、環境変数の設定も行います。
また、開発者はJava、Groovy、Scala、Kotlin、CeylonなどのJVMベースのSDKをインストールできます。 Maven、Gradle、SBT、Spring Boot、Vert.x、およびその他の多くもサポートされています。
3. SDKMANをインストールしてください!
SDKMAN! すべての主要なオペレーティングシステムでサポートされており、すべてのUnixベースのシステムに簡単にインストールできます。 さらに、BashおよびZshシェルをサポートします。
それでは、ターミナルを使用してインストールすることから始めましょう。
$ curl -s "https://get.sdkman.io" | bash
次に、画面の指示に従ってインストールを完了します。
インストールプロセスを完了するには、zipパッケージとunzipパッケージをインストールする必要がある場合があります。
次に、新しいターミナルを開くか、次を実行します。
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
最後に、次のコマンドを実行して、インストールが機能したことを確認します。 すべてがうまくいけば、バージョンが表示されます。
$ sdk version
SDKMAN 5.8.5+522
その他のカスタマイズについては、SDKMANのインストールガイドを参照してください。 Webサイト。
使用可能なすべてのコマンドを表示するには、helpコマンドを使用します。
$ sdk help
4. すべてのSDK候補を一覧表示
それでは、利用可能なすべてのSDK候補をリストすることから始めましょう。
$ sdk list
list コマンドは、一意の名前、説明、公式Webサイト、およびインストールコマンドで識別される、使用可能なすべての候補を表示します。
=====================================================
Available Candidates
=====================================================
q-quit /-search down
j-down ?-search up
k-up h-help
-----------------------------------------------------
Java (11.0.7.hs-adpt) https://zulu.org
...
$ sdk install java
-----------------------------------------------------
Maven (3.6.3) https://maven.apache.org
...
$ sdk install maven
-----------------------------------------------------
Spring Boot (2.3.1.RELEASE) http://spring.io
...
$ sdk install springboot
------------------------------------------------------
...
したがって、この識別子を使用して、Spring Boot(2.3.1.RELEASE)やMaven(3.6.3)などの候補のデフォルトバージョンをインストールできます。 このリストで指定されているバージョンは、各SDKの安定バージョンまたはLTSバージョンを表しています。
5. Javaバージョンのインストールと管理
5.1. バージョンの一覧表示
使用可能なJavaのバージョンを一覧表示するには、listコマンドを使用します。 結果は、ベンダーごとにグループ化され、バージョン別にソートされたエントリのテーブルです。
$ sdk list java
===================================================================
Available Java Versions
===================================================================
Vendor | Use | Version | Dist | Status | Identifier
-------------------------------------------------------------------
AdoptOpenJDK | | 14.0.1 | adpt | | 14.0.1.j9-adpt
...
Amazon | | 11.0.8 | amzn | | 11.0.8-amzn
...
Azul Zulu | | 14.0.2 | zulu | | 14.0.2-zulu
...
BellSoft | | 14.0.2 | librca | | 14.0.2.fx-librca
...
GraalVM | | 20.1.0 | grl | | 20.1.0.r11-grl
...
Java.net | | 16.ea | open | | 16.ea.6-open
...
SAP | | 14.0.2 | sapmchn | | 14.0.2-sapmchn
...
候補者のストレージを確認、切り替え、または管理するたびに、このコマンドが必要になります。
5.2. Javaバージョンをインストールする
AzulZuluからJava14の最新ビルドをインストールしたいとします。 したがって、テーブルのバージョンである識別子をコピーし、installコマンドの引数として追加します。
$ sdk install java 14.0.2-zulu
Downloading: java 14.0.2-zulu
In progress...
########### 100.0%
Repackaging Java 14.0.2-zulu...
Done repackaging...
Installing: java 14.0.2-zulu
Done installing!
Setting java 14.0.2-zulu as default.
SDKMAN! このバージョンをダウンロードして、コンピュータのディレクトリに解凍します。
さらに、ターミナルでJavaをすぐに使用できるように、環境変数を更新します。
list コマンドを使用して、任意のバージョンのステータスと使用状況を確認できます。 その結果、バージョン 14.0.1 i がインストールされ、使用されています。
$ sdk list java
=================================================================
Available Java Versions
=================================================================
Vendor | Use | Version | Dist | Status | Identifier
-----------------------------------------------------------------
...
Azul Zulu | >>> | 14.0.1 | adpt | installed | 14.0.1.j9-adpt
...
さらに、同じコマンドを使用して、追加の引数としてバイナリのパスを指定することにより、Javaまたは任意のカスタムバージョンをコンピューターからインストールすることができます。
$ sdk install java custom-8 ~/Downloads/my-company-jdk-custom-8
5.3. バージョンの切り替え
バージョン間の切り替えは、一時的に2つの形式で制御できます。
$ sdk use java 14.0.1.j9-adpt
または恒久的に:
$ sdk default java 14.0.1.j9-adpt
5.4. バージョンを削除する
インストールされているバージョンを削除するには、対象のバージョンでuninstallコマンドを実行します。
$ sdk uninstall java 14.0.1.j9-adpt
5.5. 使用中のバージョンを表示する
Javaの現在のバージョンを確認するには、currentコマンドを実行します。
$ sdk current java
Using java version 14.0.2-zulu
同様に、最後のコマンドは次と同じ効果があります。
$ java -version
マシン上でSDKによるバージョンを表示するには、引数なしでcurrentコマンドを実行できます。
$ sdk current
Using:
java: 14.0.2-zulu
gradle: 6.2.2
6. SDKMANを使用する! IDEで
インストールされたSDKはSDKMANに保存されます! デフォルトが〜/ .sdkman /candidatesのディレクトリ。
たとえば、さまざまなバージョンのJavaも〜/ .sdkman / candidates / java / ディレクトリで利用可能であり、サブディレクトリはバージョンにちなんで名付けられています。
$ ls -al ~/.sdkman/candidates/java/
total 0
drwxrwxrwx 1 user user 12 Jul 25 20:00 .
drwxrwxrwx 1 user user 12 Jul 25 20:00 ..
drwxrwxr-x 1 user user 12 Jul 25 20:00 14.0.2-zulu
lrwxrwxrwx 1 user user 14 Jul 25 20:00 current -> 14.0.2-zulu
したがって、現在選択されているバージョンのJavaも、そのディレクトリで現在のバージョンとして使用できます。
同様に、Gradleまたはその他のSDKはcandidatesディレクトリの下にインストールされます。
このようにして、たとえばお気に入りのIDEで、特定のバージョンのJavaを使用できます。 特定のバージョンのパスをコピーして、IDEの構成に設定するだけです。
6.1. IntelliJ IDEA
IntelliJ IDEAで、「プロジェクト構造」を開き、次に「プロジェクト設定」を開きます。 プロジェクト構成で、「ProjectSDK」セクションから「New…」を選択することにより、新しいJavaバージョンを追加できます。
「ビルドツール」セクションで使用するJava、Gradle、またはMavenのバージョンを定義することもできます。
ヒント:Javaのバージョンは、GradleまたはMavenの「ProjectSDK」で使用されているものと同じである必要があります。
6.2. Eclipse
Eclipseで「プロジェクトのプロパティ」を開き、「Javaビルドパス」を選択してから、「ライブラリ」タブに切り替えます。 ここでは、「ライブラリの追加…」を介して、次の手順に従ってJavaの新しいSDKを管理できます。
また、すべてのプロジェクトにインストールされているSDKを制御することもできます。 「ウィンドウ」メニューの「設定」を開き、「インストールされているJRE」に移動します。 ここでは、「追加…」を介して、次の手順に従ってJavaのSDKを管理できます。
7. 結論
このチュートリアルでは、SDKMAN! Mavenなどの他のJava環境ツールの中でさまざまなバージョンのJavaSDKを管理するのに役立ちます。