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

Ubuntu:OpenJDK 8 - Paket kann nicht gefunden werden

Ich erhalte OpenJDK 8 aus den offiziellen Debian-Repositorys und nicht aus einer zufälligen PPA- oder unfreien Oracle-Binärdatei. So habe ich es gemacht:

sudo apt-get install debian-keyring debian-archive-keyring

Machen Sie /etc/apt/sources.list.d/debian-jessie-backports.list :

deb http://httpredir.debian.org/debian/ jessie-backports main

Machen Sie /etc/apt/preferences.d/debian-jessie-backports :

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

Dann endlich die Installation durchführen:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk

sudo apt-get update
sudo apt-get  install openjdk-8-jdk

das sollte funktionieren


Wie Sie sehen können, habe ich nur Java 1.7 installiert (auf einem Ubuntu 14.04-Computer).

update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64

Um Java 8 zu installieren, habe ich es getan,

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk

Danach habe ich jetzt Java 7 und 8,

update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

BONUS HINZUGEFÜGT (Wechsel zwischen verschiedenen Versionen)

  • Führen Sie den folgenden Befehl vom Terminal aus:

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-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      manual mode

Press enter to keep the current choice[*], or type selection number:

Wie Sie sehen können, verwende ich offenes jdk 8. Um zu jdk 7 zu wechseln, drücken Sie 1 und drücken Sie die Enter Schlüssel. Machen Sie dasselbe für javac auch mit sudo update-alternatives --config javac .

Überprüfen Sie die Versionen, um die Änderung zu bestätigen:java -version und javac -version .


AKTUALISIEREN :Installation ohne Root-Rechte unten

Ich rate Ihnen, Pakete nicht manuell auf einem Ubuntu-System zu installieren, wenn es bereits ein (halboffizielles) Repository gibt, das Ihr Problem lösen kann. Verwenden Sie außerdem Oracle JDK für die Entwicklung, nur um (sehr sporadische) Kompatibilitätsprobleme zu vermeiden (ich habe es vor vielen Jahren versucht, es ist jetzt sicherlich besser).

Fügen Sie webupd8 hinzu repo auf Ihr System:

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 Versionen von jdk installieren und openjdk- und Oracle-Versionen mischen. Dann können Sie den Befehl update-java-alternatives verwenden um zwischen der installierten Version zu 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

Anforderungen

Wenn Sie add-apt-repository: command not found erhalten Stellen Sie sicher, dass Sie software-properties-common haben installiert:

sudo apt-get install software-properties-common

Wenn Sie eine ältere Ubuntu-Version verwenden:

sudo apt-get install python-software-properties

JDK-Installation ohne Root-Rechte

Wenn Sie keine Administratorrechte auf Ihrem Zielcomputer haben, verwenden Sie am einfachsten sdkman um das zulu-zertifizierte openjdk zu installieren:

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java

HINWEIS :sdkman erlaubt auch die Installation des offiziellen Oracle JDK, obwohl dies nicht die Standardoption ist. Verfügbare Versionen anzeigen mit:

sdk ls java

Installieren Sie die gewählte Version mit:

sdk install java <version>

Zum Beispiel:

sdk install java 9.0.1-oracle

Glossar der Befehle

  • sudo <command> [command_arguments] :Führen Sie einen Befehl mit Superuser-Rechten aus.

  • apt-repository hinzufügen <PPA_id> :Ubuntu (genau wie alle Debian-Derivate und im Allgemeinen jede Linux-Distribution) hat ein Haupt-Repository mit 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 im System nicht verfügbar sind (genau wie Oracle jdk) oder aktualisierte Versionen verfügbarer (Beispiel:LibreOffice 5 in LTS ist nur über dieses verfügbar PPA).

  • apt-get [install|update|upgrade|purge|...] :Es ist "der" Befehlszeilen-Pakethandler, der verwendet wird, um den Status zu manipulieren jedes Repositorys auf dem System (das Installieren/Aktualisieren/Upgrade kann als Änderung des aktuellen Status des Repositorys angesehen werden).

In unserem Fall :mit dem Befehl sudo add-apt-repository ppa:webupd8team/java Wir teilen dem System mit, dass das nächste Repository-Update Paketinformationen auch aus dem webupd8-Repository abrufen muss.

Mit sudo apt-get update Wir aktualisieren tatsächlich das System-Repository (für alle diese Vorgänge sind Superuser-Rechte erforderlich, daher stellen wir sudo voran zu den Befehlen).

sudo apt-get install oracle-java8-installer

  • update-java-alternatives (eine spezielle Java-Version von update-alternatives ):In Ubuntu bieten mehrere Pakete die gleiche Funktionalität (im Internet surfen, Mails kompilieren, eine Textdatei bearbeiten oder ausführbare Java/Java-Dateien bereitstellen ...). Um es dem System zu ermöglichen, das Benutzerfavoriten-Tool für eine bestimmte Aufgabe auszuwählen, gibt es einen Mechanismus, der Symlinks unter /etc/alternatives/ verwendet wird genutzt. Versuchen Sie, das jdk wie oben angegeben zu aktualisieren (wechseln Sie zwischen Java 7 und Java 8) und sehen Sie sich an, wie sich die Ausgabe dieses Befehls ändert:

    ls -l /etc/alternatives/java*

In unserem Fall :sudo update-java-alternatives --set java-8-oracle Aktualisieren Sie Symlinks unter /etc/alternatives so, dass sie auf ausführbare Java-8-Oracle-Dateien zeigen.

Extras:

  • Mann <command> :Beginnen Sie mit 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 mit man update-java-alternatives ).

  • apt-cache search <search_key> :fragt den APT-Cache ab, um nach einem Paket zu suchen, das mit dem bereitgestellten search_key verwandt ist (kann der Paketname oder ein Wort in der Paketbeschreibung sein).

  • apt-cache show <package> :liefert APT-Informationen für ein bestimmtes Paket (Paketversion, installiert oder nicht, Beschreibung).


Linux
  1. Kann Mariadb nicht auf Ubuntu 20.04 installieren?

  2. Cuda 8 unter Ubuntu 16 installieren:Paket Cuda kann nicht gefunden werden?

  3. So installieren Sie auf einem Ubuntu-Server

  4. So installieren Sie Docker unter Ubuntu 22.04

  5. Docker – Paket Docker-Engine konnte nicht gefunden werden

Fehlerbehebung „E:Paket kann nicht gefunden werden“ Fehler auf Ubuntu [Anfänger-Tutorial]

So installieren Sie Kubernetes auf Ubuntu 18.04 LTS

So installieren Sie Yarn unter Ubuntu 18.04

WIE INSTALLIERE ICH NEXTCLOUD AUF UBUNTU?

So installieren Sie Asterisk in Ubuntu 20.04

So installieren Sie Sendmail unter Ubuntu 22.04