Java und die JVM (die virtuelle Maschine von Java) sind für viele Arten von Software erforderlich, darunter Tomcat, Jetty, Glassfish, Cassandra und Jenkins.
In dieser Anleitung werden wir untersuchen, wie man Java Runtime Environment (JRE) und das Java Developer Kit (JDK) in Debian 11 installiert.
Überprüfen Sie auch:
- So installieren Sie Java 17 in Ubuntu 20.04
- So installieren Sie Java 17 in Fedora 35
- So installieren Sie Java 17 auf Rocky Linux 8/Centos 8
- Installieren und Einrichten von Jenkins unter Ubuntu 20.04
Voraussetzungen
- Aktuelles Debian 11-System
- Root-Zugriff oder Benutzer mit Sudo-Zugriff
- Internetzugang vom Server
Inhaltsverzeichnis
- Sicherstellen, dass der Server auf dem neuesten Stand ist
- Installieren von Java
- Testen der Installation
- Umschalten mehrerer Java-Versionen
- Konfigurieren der Umgebungsvariablen
Sicherstellen, dass der Server auf dem neuesten Stand ist
Bevor wir fortfahren, stellen wir sicher, dass die Serverpakete und Repositories auf dem neuesten Stand sind. Verwenden Sie diese Befehle, um das Ziel zu erreichen:
sudo apt update
sudo apt -y upgrade
Wenn Pakete aktualisiert werden müssen, kann der obige Befehl einige Minuten dauern.
Lassen Sie uns auch einige allgemeine Pakete installieren, die wir möglicherweise benötigen. Ich verwende den Vim-Texteditor, bitte stellen Sie sicher, dass er mit diesem Befehl installiert ist:
sudo apt install -y vim
Java installieren
Überprüfen Sie, ob Java auf Ihrem System installiert ist.
$ java -version
-bash: java: command not found
Wenn Sie java: command not found
sehen dann bedeutet es, dass java nicht installiert ist. Wenn Java installiert ist, gibt dieser Befehl die Java-Version aus
Das Standard-Repository von Debian 11 enthielt Java 17. Dies ist der einfachste Weg, das JDK mit der apt-Paketverwaltung zu installieren.
Sie können Java mit diesem Befehl durchsuchen:
sudo apt-cache search openjdk | grep 17
Führen Sie den folgenden Befehl aus, um Java 17 auf Debian 11 zu installieren. Wir werden sowohl JDK als auch JRE installieren, um Java-Anwendungen und -Applets auszuführen.
sudo apt install openjdk-17-jdk openjdk-17-jre -y
Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um zu überprüfen, ob er ordnungsgemäß funktioniert. Wenn alles gut funktioniert, sollten Sie eine Ausgabe ähnlich der unten gezeigten erhalten.
$ java -version openjdk version "17-ea" 2021-09-14 OpenJDK Runtime Environment (build 17-ea+19-Debian-1) OpenJDK 64-Bit Server VM (build 17-ea+19-Debian-1, mixed mode, sharing)
Um zu überprüfen, ob das JDK richtig installiert ist, prüfen wir die Version von javac, dem Java-Compiler.
$ javac -version javac 17-ea
Testen der Installation
Lassen Sie uns in diesem Schritt testen, ob Java 17 ordnungsgemäß installiert ist, indem Sie ein einfaches Skript erstellen, das Java is installed properly
ausgibt .
Erstellen Sie das Verzeichnis und wechseln Sie dorthin
mkdir simple-app
cd simple-app
Ich verwende vim, um Textdateien in meinem System zu erstellen und zu bearbeiten. Verwenden Sie in diesem Schritt den Texteditor Ihrer Wahl. Ich werde eine Datei Simple.java
erstellen mit diesem Befehl:
sudo vim Simple.java
Fügen Sie diesen Inhalt der Datei hinzu
public class Simple{
public static void main(String[] args) {
System.out.println("Citizix - Java is installed properly");
}
}
Nachdem wir unser Programm erstellt haben, müssen wir den Java-Quellcode mit dem Javac-Compiler in Bytecode (Klassendatei) kompilieren.
javac Simple.java
Sie erhalten eine neue Datei namens Simple.class
, die die kompilierte Java-Klassendatei ist.
$ ls
Simple.class Simple.java
Der obige Befehl kompiliert nur den Java-Quellcode in Bytecode. Um das Programm auszuführen, führen wir den Java-Befehl mit dem Namen unserer Klassendatei als Argument aus.
java Simple
Wenn alles gut funktioniert, sehen Sie die Meldung „Citizix - Java is installed properly
” auf dem Bildschirm.
$ java Simple
Citizix - Java is installed properly
Umschalten mehrerer Java-Versionen
Wenn Sie mehrere Java-Versionen in Ihrem System installiert haben, können Sie konfigurieren, welche Version java
Befehl ist standardmäßig auf.
Verwenden Sie diesen Befehl, um das zu konfigurieren
sudo update-alternatives --config java
Sie erhalten eine Liste der verfügbaren Java-Installationen. In diesem Fall habe ich sowohl Java 11 als auch Java 17 installiert. Die Standardversion ist mit einem Stern (*) gekennzeichnet. Sie können sich für eine andere Version entscheiden, indem Sie die Nummer in die Eingabeaufforderung eingeben.
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode
Oben habe ich 1 in die Eingabeaufforderung eingegeben, um Java 11 auszuwählen. Lassen Sie uns jetzt die Java-Version bestätigen:
$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
Konfigurieren der Umgebungsvariablen
Einige Java-Anwendungen benötigen die Umgebungsvariable JAVA_HOME, um ordnungsgemäß ausgeführt zu werden. Einige Programme sind sehr spezifisch in ihrer Ausführung. Wenn JAVA_HOME nicht festgelegt ist, erhalten Sie eine Fehlermeldung. Das Setzen von JAVA_HOME wird dieses Problem verhindern.
Verwenden Sie diesen Befehl, um zu prüfen, welche Java-Installationen und -Pfade vorhanden sind:
sudo update-alternatives --config java
In meinem Fall bekomme ich den Binärpfad der Java-Installation wie folgt:/usr/lib/jvm/java-17-openjdk-amd64/bin/java
Wir werden diesen Pfad in einer Umgebungsdatei /etc/environment
festlegen auf die alle Apps zugreifen können.
Öffnen Sie die Datei mit vim:
sudo vim /etc/environment
Jetzt müssen wir eine Zeile hinzufügen, die das Java-Home in die Datei exportiert, wie diese export JAVA_HOME=...
Machen Sie den Wert zum Pfad, den wir für unsere Java-Installation erhalten haben:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/bin/java
Diese Datei legt den JAVA_HOME-Pfad von OpenJDK 17 als Umgebungsvariablen für alle Benutzer im System fest.
Führen Sie den folgenden Befehl aus, um die Änderung zu übernehmen.
source /etc/environment
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Pfadvariable angewendet wurde.
echo $JAVA_HOME
Der Pfad sollte auf den Pfad von OpenJDK 17 gesetzt werden, den Sie oben kopiert haben. Dies ist der Wert in meinem Fall:
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
Ab sofort müssen Sie bei der Verwendung von Java-Programmen nicht jedes Mal den JAVA_HOME-Pfad setzen. Auch wenn Sie statt 17 andere OpenJDK-Versionen verwenden möchten, passen Sie den Pfad entsprechend an.
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie Java 17 auf einem Debian 11-System installieren. Wenn Sie weitere Informationen über die Java-Sprache benötigen, lesen Sie bitte die offizielle Dokumentation.