Verschiebt das entpackte JDK nach /usr/local
sudo mv jdk-21.0.2 /usr/local/jdk-21
Registriert java im Alternatives-System
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk-21/bin/java 1
Registriert javac im Alternatives-System
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk-21/bin/javac 1
Wählt die Standardversion von java
sudo update-alternatives --config java
Wählt die Standardversion von javac
sudo update-alternatives --config javac
Prüft, ob Java 21 aktiv ist
java -version
Prüft, ob javac auf Version 21 zeigt
javac -version
Optional: Setzt JAVA_HOME systemweit
sudo tee /etc/profile.d/jdk21.sh > /dev/null <<EOF
export JAVA_HOME=/usr/local/jdk-21
export PATH=\$JAVA_HOME/bin:\$PATH
EOF
Rechte setzen (nicht zwingend +x, da beim Login gesourced wird)
sudo chown root:root /etc/profile.d/jdk21.sh
sudo chmod 644 /etc/profile.d/jdk21.sh
Aktiviert die Änderungen für die aktuelle Shell
source /etc/profile.d/jdk21.sh
Als Script…
install-jdk21.sh
#!/bin/bash
set -e
JDK_ARCHIVE="openjdk-21.0.2_linux-x64_bin.tar.gz"
JDK_DIR="jdk-21.0.2"
INSTALL_DIR="/usr/local/jdk-21"
PROFILE_SCRIPT="/etc/profile.d/jdk21.sh"
# Prüfen, ob Archiv vorhanden ist
if [ ! -f "$JDK_ARCHIVE" ]; then
echo "❌ Fehler: $JDK_ARCHIVE nicht gefunden."
exit 1
fi
echo "Entpacke JDK..."
tar -xvzf "$JDK_ARCHIVE"
echo "Verschiebe JDK nach $INSTALL_DIR..."
sudo mv "$JDK_DIR" "$INSTALL_DIR"
echo "Registriere java im Alternatives-System..."
sudo update-alternatives --install /usr/bin/java java "$INSTALL_DIR/bin/java" 1
echo "Registriere javac im Alternatives-System..."
sudo update-alternatives --install /usr/bin/javac javac "$INSTALL_DIR/bin/javac" 1
echo "Setze java und javac als Standard..."
sudo update-alternatives --set java "$INSTALL_DIR/bin/java"
sudo update-alternatives --set javac "$INSTALL_DIR/bin/javac"
echo "Prüfe Versionen..."
java -version
javac -version
echo "Setze JAVA_HOME systemweit..."
sudo tee "$PROFILE_SCRIPT" > /dev/null <<EOF
export JAVA_HOME=$INSTALL_DIR
export PATH=\$JAVA_HOME/bin:\$PATH
EOF
sudo chown root:root "$PROFILE_SCRIPT"
sudo chmod 644 "$PROFILE_SCRIPT"
echo "Lade Umgebungsvariablen..."
source "$PROFILE_SCRIPT"
echo "JDK 21 Installation abgeschlossen."
Speichern:
nano install-jdk21.sh
Ausführbar machen:
chmod +x install-jdk21.sh
Speichern:
./install-jdk21.sh