GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren / wechseln Sie zwischen mehreren Java-Versionen mit SDKMAN

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


Linux
  1. So installieren Sie Java unter Linux

  2. So verwalten Sie mehrere Python-Versionen mit Pyenv unter Linux

  3. So installieren und verwalten Sie Java-Versionen unter Rocky Linux 8

  4. Wie führe ich mehrere PHP-Versionen mit Nginx unter Ubuntu aus?

  5. Wie man unter Linux mit mehreren Java-Versionen arbeitet

So installieren Sie mehrere PHP-Versionen unter Ubuntu 20.04, 18.04, 20.10

So wechseln Sie unter Debian zwischen mehreren Java-Versionen

So installieren Sie Java mit Apt unter Ubuntu 20.04

So installieren Sie Java unter Ubuntu 18.04

So installieren Sie Java unter CentOS 8

Wie installiere ich Java unter Ubuntu 18.04?