SDKMAN! ist ein Tool zum Verwalten mehrerer Versionen von Software Development Kits unter macOS, Linux, WLS, Cygwin, Solaris und FreeBSD. Es kann Java, Groovy, Scala, Kotlin, Ceylon, Ant, Gradle und viele mehr installieren und verwalten.
Das Tool wurde von RVM und rbenv inspiriert und benötigt nur curl und zip/unzip auf Ihrem System, um so zu funktionieren, wie es in bash geschrieben ist (keine Sorge, es funktioniert auch mit zsh).
Dieser Artikel zeigt, wie man Java mit SDKMAN installiert! (mit dem Installer oder offline mit Ihren eigenen Java-Binärdateien) und wie Sie mehrere Java-Versionen verwalten und verwenden (einfaches Festlegen einer Java-Version als Standard, einschließlich Setzen der Umgebungsvariablen JAVA_HOME oder vorübergehendes Wechseln der Java-Versionen für die aktuelle Terminalsitzung). oder nur für ein bestimmtes Verzeichnis).
1. Um zu beginnen, installieren Sie den SDKMAN! Befehlszeilenschnittstelle.
2. Alle möglichen Java-Versionen auflisten.
Das ist SDKMAN! installiert, wir werden es verwenden. Verwenden Sie diesen Befehl, um alle geeigneten Java-Versionen aufzulisten:
sdk list java
Dies listet AdoptOpenJDK und die Versionen auf, auf denen Sie Amazon Java, Azul Zulu OpenJDK, Java.net usw. installieren können.
Dies ist ein Auszug (die Ausgabe ist ziemlich groß) dessen, was Sie sehen würden, wenn Sie den Java-Befehl list verwenden würden:
$ sdk list java
..............................................................
Available Java Versions
==============================================================
Vendor |Use| Version | Dist| Status | Identifier
--------------------------------------------------------------
AdoptOpenJDK| | 14.0.2.j9 | adpt| installed| 14.0.2.j9-adpt
| | 14.0.2.hs | adpt| | 14.0.2.hs-adpt
| | 13.0.2.j9 | adpt| | 13.0.2.j9-adpt
| | 13.0.2.hs | adpt| | 13.0.2.hs-adpt
| | 12.0.2.j9 | adpt| | 12.0.2.j9-adpt
| | 11.0.8.hs | adpt| installed| 11.0.8.hs-adpt
| | 8.0.262.j9| adpt| | 8.0.262.j9-adpt
..............................................................
Azul Zulu | | 14.0.2 | zulu| | 14.0.2-zulu
| | 13.0.4 | zulu| | 13.0.4-zulu
| | 13.0.3.fx | zulu| | 13.0.3.fx-zulu
| | 12.0.2 | zulu| | 12.0.2-zulu
| | 11.0.8 | zulu| | 11.0.8-zulu
..............................................................
Java.net | | 16.ea.6 | open| | 16.ea.6-open
| | 15.ea.32 | open| | 15.ea.32-open
| | 14.0.2 | open| | 14.0.2-open
| | 13.0.2 | open| | 13.0.2-open
| | 12.0.2 | open| | 12.0.2-open
| | 11.0.7 | open| | 11.0.7-open
| | 10.0.2 | open| | 10.0.2-open
| | 9.0.4 | open| | 9.0.4-open
| | 8.0.252 | open| | 8.0.252-open
.............................................................
Achten Sie auf diesen Identifier
Säule. Dies ist der Paketname, den Sie verwenden müssen, um eine Version von Java zu installieren.
3. Installieren Sie eine Java-Version mit SDKMAN !.
Der Befehl, den Sie verwenden können, um eine Version von Java zu installieren, lautet:
sdk install java IDENTIFIER
Ersetzen Sie IDENTIFIER
mit der Java-Versionskennung, wie in sdk list java
Befehlsausgabe.
Um beispielsweise AdoptOpenJDK Version 11.0.8.hs zu installieren, lautet der Installationsbefehl:
sdk install java 11.0.8.hs-adpt
SDKMAN! kann auch eine lokale Version von Java wie folgt installieren:
sdk install java [UNIQUE-IDENTIFIER] /path/to/Java
Laden Sie beispielsweise das neueste Oracle Java 14 .tar.gz herunter (wenn Sie nicht unseren Oracle Java-Installer verwenden), extrahieren Sie es und verwenden Sie dann SDKMAN! um es zu installieren mit:
sdk install java 14.0.2-oracle ~/Downloads/jdk-14.0.2
4. Zwischen Java-Versionen wechseln.
Es gibt 3 Möglichkeiten, Java-Versionen mit SDKMAN zu verwenden! verwalten:
- Eine Java-Version als Standard festlegen
- Eine Version von Java nur für die aktuelle Terminalsitzung verwenden
- aktiviere eine bestimmte Java-Version, wenn du ein Verzeichnis betrittst
A. Legen Sie eine Java-Version als Standard fest.
Um eine der mit SDKMAN installierten Java-Versionen anzugeben! (unabhängig davon, ob es mit dem integrierten Installationsprogramm oder aus einem lokalen Verzeichnis installiert wurde) als Standard-Java-Version verwenden Sie:
sdk default java IDENTIFIER
Ersetzen Sie IDENTIFIER
mit der Java-Versionskennung, wie in sdk list java
Befehlsausgabe.
Um beispielsweise AdoptOpenJDK Version 11.0.8.hs zur standardmäßigen Java-Version des Systems zu machen, verwenden Sie:
sdk default java 11.0.8.hs-adpt
Dadurch wird auch die Umgebungsvariable JAVA_HOME ~/.sdkman/candidates/java/current
eingerichtet .
B. Verwenden Sie eine Java-Version nur für die aktuelle Terminalsitzung:
sdk use java IDENTIFIER
Ersetzen Sie IDENTIFIER
mit der Java-Versions-ID, wie in sdk list java
Befehlsausgabe.
Legen Sie beispielsweise das lokal installierte Java 14.0.2-Oracle als Java-Version für die aktuelle Terminalsitzung fest:
sdk use java 14.0.2-oracle
C. Beim Betreten eines Verzeichnisses eine bestimmte Java-Version aktivieren.
Tun Sie dies in dem Verzeichnis, für das Sie eine benutzerdefinierte Java-Version verwenden möchten:
sdk env init
Eine Datei namens .sdkmanrc
wurde nun in diesem Verzeichnis generiert. Öffnen Sie es und ändern Sie den Wert von java=
die ID der Java-Version, die Sie verwenden möchten, z. B. 11.0.8.hs-adpt
für AdoptOpenJDK 11.0.8.
Führen Sie nun entweder sdk env
aus in diesem Verzeichnis, um die Java-Version zu aktivieren, die Sie im .sdkmanrc
haben Datei oder editiere den SDKMAN! Konfigurationsdatei (~/.sdkman/etc/config
) und sdkman_auto_env=true
anpassen sodass SDK-Versionen automatisch umgeschaltet werden, wenn Sie cd
in ein Verzeichnis.
Unabhängig davon, wie Sie eine Java-Version über SDKMAN erhalten! Sie können überprüfen, welche Java-Version derzeit verwendet wird (wie von SDKMAN ermittelt) mit:
sdk current java
Sie können sich auch direkt nach der aktuellen Java-Version erkundigen:
java -version
javac -version