So installieren Sie Java auf CentOS 8

Java ist eine der beliebtesten Programmiersprachen, mit denen verschiedene Arten von Anwendungen und Systemen erstellt werden.

Es gibt zwei verschiedene Implementierungen von Java, OpenJDK und Oracle Java, mit fast keinen Unterschieden zwischen ihnen, außer dass Oracle Java ein paar zusätzliche kommerzielle Funktionen hat. Der Oracle Java-Lizenznehmer gestattet nur die nichtkommerzielle Nutzung der Software, z. B. für den persönlichen Gebrauch und die Entwicklung. OpenJDK ist eine Open-Source-Implementierung der Java-Plattform.

Die standardmäßigen CentOS 8-Repositorys enthalten die beiden neuesten Hauptversionen von Java LTS, Java 8 und Java 11.

In diesem Tutorial erklären wir, wie Sie eine oder mehrere Java-Versionen (OpenJDK) auf CentOS 8 installieren und wie Sie die Standard-Java-Version über Alternativen festlegen.

Installieren von OpenJDK 11 #

Generell wird empfohlen, die neueste Version von Java LTS (JDK 11) zu installieren. Für einige Java-basierte Anwendungen ist möglicherweise eine bestimmte Version von Java erforderlich.

Um das OpenJDK 11 auf CentOS 8 zu installieren, führen Sie den folgenden Befehl als root oder Benutzer mit Sudo-Rechten aus:

sudo dnf install java-11-openjdk-devel

Sobald die Installation abgeschlossen ist, können Sie dies überprüfen, indem Sie die Java-Version überprüfen:

java -version

Die Ausgabe sollte ungefähr so aussehen:

openjdk version "11.0.4" 2019-07-16 LTSOpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)

Das war’s! Sie haben Java erfolgreich auf Ihrem CentOS 8-System installiert.

CentOS 8 unterstützt auch eine Headless-Version von OpenJDK, die eine minimale Java-Laufzeit bietet, die für die Ausführung von Anwendungen ohne grafische Benutzeroberfläche erforderlich ist (keine Unterstützung für Tastatur-, Maus- und Anzeigesysteme). Diese Version eignet sich besser für Serveranwendungen, da sie weniger Abhängigkeiten aufweist und weniger Systemressourcen verwendet.

Um nur das headless OpenJDK 11 zu installieren, geben Sie Folgendes ein:

sudo dnf install java-11-openjdk-headless

Wenn Sie java-11-openjdk-develbereits installiert haben, wird das Headless-Paket als Abhängigkeit installiert.

Installieren von OpenJDK 8 #

Java 8, die vorherige Java LTS-Version, wird weiterhin unterstützt und ist weit verbreitet. Wenn Ihre Anwendung Java 8 benötigt, können Sie es installieren, indem Sie den folgenden Befehl eingeben:

sudo dnf install java-1.8.0-openjdk-devel

Überprüfen Sie die Installation, indem Sie die Java-Version überprüfen:

java -version

Die Ausgabe sollte ungefähr so aussehen:

openjdk version "1.8.0_222"OpenJDK Runtime Environment (build 1.8.0_222-b10)OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Installieren Sie für eine minimale Java-Laufzeit die java-1.8.0-openjdk-headless Paket.

Festlegen der Standard-Java-Version #

Wenn Sie mehrere Java-Versionen auf Ihrem CentOS-System installiert haben, können Sie mithilfe des alternativen Systems festlegen, welche Java-Version verwendet wird, wenn Sie java im Terminal eingeben.

Um zu überprüfen, welche Java-Version als Standardversion festgelegt ist, geben Sie Folgendes ein:

java -version

Wenn Sie die Standardversion ändern möchten, verwenden Sie den Befehl alternatives:

sudo alternatives --config java

Die Ausgabe sieht ungefähr so aus:

There are 2 programs which provide 'java'. Selection Command----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)Enter to keep the current selection, or type selection number: 

Eine Liste aller installierten Java-Versionen wird auf dem Bildschirm angezeigt. Geben Sie die Nummer der Version ein, die Sie als Standard verwenden möchten, und drücken Sie Enter.

Möglicherweise möchten Sie auch die Standardversion javac ändern:

sudo alternatives --config java

javac ist ein Befehlsdienstprogramm zum Kompilieren von Java-Programmen.

Einstellung der Umgebungsvariablen JAVA_HOME #

Die JAVA_HOME Umgebungsvariableist von einigen Java-Anwendungen verwendet, um den Java-Installationsort zu bestimmen und anzugeben, welche Java-Version zum Ausführen der Anwendung verwendet werden soll.

Um die Variable JAVA_HOME pro Benutzer festzulegen, fügen Sie sie der ~/.bashrc oder einer anderen Konfigurationsdatei hinzu, die beim Anmelden des Benutzers geladen wird. Verwenden Sie für eine systemweite Einstellung ein Skript im Verzeichnis /etc/profile.d.

Angenommen, Sie möchten JAVA_HOME auf OpenJDK 8 setzen, fügen Sie am Ende der Datei die folgende Zeile hinzu:

/etc/profile.d/java.sh
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"

Damit Änderungen in Ihrer aktuellen Shell wirksam werden, können Sie sich entweder abmelden und anmelden oder den Befehl source verwenden:

source /etc/profile.d/java.sh

Überprüfen Sie, ob die JAVA_HOME Umgebungsvariable wurde korrekt gesetzt:

echo $JAVA_HOME

Die Ausgabe sollte den Pfad zur Java-Installation anzeigen:

/usr/lib/jvm/java-1.8.0-openjdk

Sie können die JAVA_HOME auch in der Anwendungskonfiguration, in der Systemd-Unit-Datei oder in der Befehlszeile beim Starten des Programms festlegen.

Um Maven beispielsweise mit Java 8 auszuführen, geben Sie Folgendes ein:

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre...

Fazit #

CentOS 8 unterstützt zwei wichtige Java-Versionen, Java 8 und Java 11, die mit dem dnf Paketmanager installiert werden können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.