UPDATE : Installation ohne Root-Rechte unten
Ich rate Ihnen, Pakete nicht manuell auf dem Ubuntu-System zu installieren, wenn bereits ein (halboffizielles) Repository vorhanden ist, das Ihr Problem lösen kann. Verwenden Sie außerdem Oracle JDK für die Entwicklung, um (sehr sporadische) Kompatibilitätsprobleme zu vermeiden (ich habe es vor vielen Jahren versucht, es ist jetzt sicherlich besser).
Fügen Sie das webupd8- Repo Ihrem System hinzu:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Installieren Sie Ihre bevorzugte Version von jdk (Versionen von Java-6 bis Java-9 verfügbar):
sudo apt-get install oracle-java8-installer
Sie können auch mehrere jdk-Versionen installieren und openjdk- und oracle-Versionen mischen. Anschließend können Sie mit dem Befehl update-java-alternatives zwischen der installierten Version wechseln:
# list available jdk
update-java-alternatives --list
# use jdk7
sudo update-java-alternatives --set java-7-oracle
# use jdk8
sudo update-java-alternatives --set java-8-oracle
Bedarf
Wenn Sie add-apt-repository: command not found
sicher sein müssen, software-properties-common
installiert zu haben :
sudo apt-get install software-properties-common
Wenn Sie eine ältere Version von Ubuntu verwenden:
sudo apt-get install python-software-properties
JDK-Installation ohne Root-Rechte
Wenn Sie keine Administratorrechte auf Ihrem Zielcomputer haben, können Sie am einfachsten sdkman
das zulu-zertifizierte openjdk installieren:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java
HINWEIS : sdkman erlaubt auch die offizielle Oracle JDK zu installieren, obwohl es nicht eine der Standardoption ist. Verfügbare Versionen anzeigen mit:
sdk ls java
Installieren Sie die ausgewählte Version mit:
sdk install java <version>
Beispielsweise:
sdk install java 9.0.1-oracle
Glossar der Befehle
sudo <command> [command_arguments]
: Führe einen Befehl mit dem Superuser-Privileg aus.
add-apt-repository <PPA_id>
: Ubuntu (genau wie jedes Debian-Derivat und im Allgemeinen jede Linux-Distribution) verfügt über ein Haupt-Repository von Paketen, die Dinge wie Paketabhängigkeiten und Aktualisierungen behandeln. In Ubuntu ist es möglich, das Haupt-Repository mithilfe eines PPA (Personal Package Archive) zu erweitern, das normalerweise Pakete enthält, die nicht im System verfügbar sind (genau wie oracle jdk), oder aktualisierte Versionen der verfügbaren (Beispiel: LibreOffice 5 in LTS ist nur über dieses verfügbar) PPA ).
apt-get [install|update|upgrade|purge|...]
: Es ist "der" Befehlszeilen-Pakethandler, mit dem der Status jedes Repositorys auf dem System bearbeitet wird (Installation / Aktualisierung / Aktualisierung kann als Änderung des aktuellen Status des Repositorys angesehen werden).
In unserem Fall : Mit dem Befehl sudo add-apt-repository ppa:webupd8team/java
informieren wir das System, dass das nächste Repository-Update Paketinformationen auch von webupd8 repo abrufen muss.
Mit sudo apt-get update
aktualisieren wir tatsächlich das System-Repository (all diese Vorgänge erfordern Superuser-Berechtigungen, daher stellen wir den Befehlen sudo voran ).
sudo apt-get install oracle-java8-installer
Update-Java-Alternativen (eine bestimmte Java-Version von Update-Alternativen ): In Ubuntu bieten mehrere Pakete die gleiche Funktionalität (im Internet surfen, E-Mails kompilieren, eine Textdatei bearbeiten oder ausführbare Java / Java-Dateien bereitstellen ...). Damit das System das Benutzerfavoriten-Tool für eine bestimmte Aufgabe auswählen kann, wird ein Mechanismus verwendet, der Symlinks unter /etc/alternatives/
verwendet. Versuchen Sie, das JDK wie oben angegeben zu aktualisieren (wechseln Sie zwischen Java 7 und Java 8) und sehen Sie, wie Sie die Ausgabe dieses Befehls ändern:
ls -l /etc/alternatives/java*
In unserem Fall : sudo update-java-alternatives --set java-8-oracle
Aktualisieren Sie die Symlinks unter / etc / alternatives, um auf die ausführbaren Dateien von Java-8-Oracle zu verweisen.
Extras:
man <command>
: Verwenden Sie man, um eine wirklich gut geschriebene und detaillierte Hilfe zu (fast) jedem Shell-Befehl und seinen Optionen zu lesen (jeder Befehl, den ich in dieser kleinen Antwort erwähne, hat eine Manpage, versuchen Sie es man update-java-alternatives
).
apt-cache search <search_key>
: Fragen Sie den APT-Cache ab, um nach einem Paket zu suchen, das mit dem angegebenen Suchschlüssel zusammenhängt (kann der Paketname oder ein Wort in der Paketbeschreibung sein).
apt-cache show <package>
: Stellt APT-Informationen für ein bestimmtes Paket bereit (Paketversion, installiert oder nicht, Beschreibung).