Leitfaden für SDKMAN!

1. Übersicht

Mit dem neuen Release-Zyklus von Java müssen Entwickler möglicherweise parallele Versionen und verschiedene Builds von Software Development Kits (SDK) in ihrer Umgebung verwalten. Das Einstellen der PATH-Variablen kann daher manchmal zu einem echten Schmerz werden.

In diesem Tutorial werden wir sehen, wie SDKMAN! kann helfen, die Installation und Auswahl von SDKs einfach zu verwalten.

2. Was ist SDKMAN?

SDKMAN! ist ein Tool zum Verwalten paralleler Versionen mehrerer SDKs, die SDKMAN! Nennen Sie "Kandidaten" .

Es bietet eine praktische Befehlszeilenschnittstelle (Command Line Interface, CLI) und eine API zum Auflisten, Installieren, Wechseln und Entfernen von Kandidaten. Darüber hinaus kümmert es sich darum, Umgebungsvariablen für uns festzulegen.

Außerdem können die Entwickler JVM-basierte SDKs wie Java, Groovy, Scala, Kotlin und Ceylon installieren. Maven, Gradle, SBT, Spring Boot, Vert.x und viele andere werden ebenfalls unterstützt. SDKMAN! ist ein kostenloses, leichtes Open-Source-Dienstprogramm, das in Bash geschrieben wurde.

3. Installieren Sie SDKMAN!

SDKMAN! wird von allen gängigen Betriebssystemen unterstützt und kann problemlos auf allen Unix-basierten Systemen installiert werden. Darüber hinaus unterstützt es Bash- und Zsh-Shells.

Beginnen wir also mit der Installation über das Terminal:

$ curl -s "//get.sdkman.io" | bash

Folgen Sie dann den Anweisungen auf dem Bildschirm, um die Installation abzuschließen.

Möglicherweise müssen die zip- und unzip-Pakete installiert sein, um den Installationsvorgang abzuschließen.

Öffnen Sie als Nächstes ein neues Terminal oder führen Sie Folgendes aus:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

Führen Sie abschließend den folgenden Befehl aus, um sicherzustellen, dass die Installation funktioniert. Wenn alles gut gegangen ist, sollte die Version angezeigt werden:

$ sdk version SDKMAN 5.8.5+522 

Weitere Anpassungen finden Sie in der Installationsanleitung des SDKMAN! Webseite.

Um alle verfügbaren Befehle verwenden , um die Hilfe - Befehl:

$ sdk help

4. Alle SDK-Kandidaten auflisten

Beginnen wir also mit der Auflistung aller verfügbaren SDK-Kandidaten.

$ sdk list 

Der Befehl list zeigt alle verfügbaren Kandidaten an, die durch einen eindeutigen Namen, die Beschreibung, die offizielle Website und den Installationsbefehl gekennzeichnet sind:

===================================================== Available Candidates ===================================================== q-quit /-search down j-down ?-search up k-up h-help ----------------------------------------------------- Java (11.0.7.hs-adpt) //zulu.org ... $ sdk install java ----------------------------------------------------- Maven (3.6.3) //maven.apache.org ... $ sdk install maven ----------------------------------------------------- Spring Boot (2.3.1.RELEASE) //spring.io ... $ sdk install springboot ------------------------------------------------------ ... 

Daher können wir diesen Bezeichner verwenden, um die Standardversion eines Kandidaten wie Spring Boot (2.3.1.RELEASE) oder Maven (3.6.3) zu installieren. Die in dieser Liste angegebenen Versionen repräsentieren die stabilen oder LTS-Versionen jedes SDK.

5. Java-Versionen installieren und verwalten

5.1. Versionen auflisten

Um die verfügbaren Versionen von Java Liste, verwenden Sie die Liste Befehl. Das Ergebnis ist eine Tabelle mit Einträgen, die nach Lieferanten gruppiert und nach Version sortiert sind:

$ 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 ... 

Wir benötigen diesen Befehl jedes Mal, wenn wir die Speicherung von Kandidaten überprüfen, wechseln oder verwalten möchten.

5.2. Installieren Sie eine Java-Version

Angenommen, wir möchten den neuesten Build von Java 14 von Azul Zulu installieren. Daher kopieren wir den Bezeichner, der die Version aus der Tabelle ist, und fügen ihn als Argument in den Installationsbefehl ein :

$ 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! lädt diese Version herunter und entpackt sie in ein Verzeichnis auf unserem Computer.

Darüber hinaus werden Umgebungsvariablen aktualisiert, sodass wir Java sofort im Terminal verwenden können.

Mit dem Befehl list können wir den Status und die Verwendung jeder Version überprüfen . Folglich ist die Version 14.0.1 jetzt installiert und wird verwendet:

$ sdk list java ================================================================= Available Java Versions ================================================================= Vendor | Use | Version | Dist | Status | Identifier ----------------------------------------------------------------- ... Azul Zulu | >>> | 14.0.1 | adpt | installed | 14.0.1.j9-adpt ... 

Darüber hinaus ist es möglich, Java oder eine beliebige benutzerdefinierte Version von einem Computer mit demselben Befehl zu installieren, indem Sie jedoch den Pfad der Binärdateien als zusätzliches Argument angeben:

$ sdk install java custom-8 ~/Downloads/my-company-jdk-custom-8 

5.3. Zwischen Versionen wechseln

Wir können den Wechsel zwischen Versionen vorübergehend in zwei Formen steuern:

$ sdk use java 14.0.1.j9-adpt

oder dauerhaft:

$ sdk default java 14.0.1.j9-adpt 

5.4. Eine Version entfernen

Führen Sie zum Entfernen einer installierten Version den Befehl uninstall mit der Zielversion aus:

$ sdk uninstall java 14.0.1.j9-adpt 

5.5. Zeigen Sie die verwendeten Versionen an

Um die aktuelle Version von Java zu überprüfen, führen wir den aktuellen Befehl aus:

$ sdk current java Using java version 14.0.2-zulu 

Ebenso hat der letzte Befehl den gleichen Effekt wie:

$ java -version 

To show the version by SDK on our machine, we can run the current command with no arguments:

$ sdk current Using: java: 14.0.2-zulu gradle: 6.2.2 

6. Using SDKMAN! with an IDE

The installed SDKs are stored in the SDKMAN! directory which defaults to ~/.sdkman/candidates.

For example, the different versions of Java will also be available under the ~/.sdkman/candidates/java/ directory and the subdirectories are named after the versions:

$ 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 

Therefore, the currently selected version of Java will also be available as current in that directory.

In the same vein, Gradle or any other SDK will be installed under the candidates directory.

In this way, we can use any particular version of Java, for example in our favorite IDE. All we have to do is to copy the path of a specific version and set it in the configuration of our IDE.

6.1. IntelliJ IDEA

In IntelliJ IDEA, open “Project Structure”, then open “Project Settings”. In the project configuration, we can add a new Java version by selecting “New…” from the “Project SDK” section:

We can also define the version of Java, Gradle, or Maven to use in the “Build Tools” section:

Tip: The version of Java must be the same as used in “Project SDK” for Gradle or Maven.

6.2. Eclipse

In Eclipse open “Project Properties”, select “Java Build Path”, and then switch to the “Libraries” tab. Here, we can manage the new SDK of Java via “Add Library…” and by following the instructions:

Wir können auch die installierten SDKs für alle Projekte steuern. Öffnen Sie "Einstellungen" im Menü "Fenster" und gehen Sie dann zu "Installierte JREs". Hier können wir das SDK von Java über "Hinzufügen ..." und durch Befolgen der Anweisungen verwalten:

7. Fazit

In diesem Tutorial haben wir gezeigt, wie SDKMAN! kann uns bei der Verwaltung verschiedener Versionen von Java SDKs unter anderen Java Environment-Tools wie Maven helfen.