Ich habe gerade Ubuntu installiert und arbeite zum ersten Mal in einer Linux-Umgebung.
Wie auch immer, ich habe das Java 8 JDK direkt von Oracle heruntergeladen, aber ich verstehe, dass es auch ein OpenJDK für Java 8 gibt. Ich habe zwei Fragen.
Was ist der Unterschied zwischen der Oracle-Version und OpenJDK? Für und Wider?
Wenn ich versuche, OpenJDK 8 zu bekommen, kann ich nicht. Ich füge den Terminalbefehl und die Fehlermeldung ein, die ich hier erhalte, und hoffe auf Rat. Wiederum sehr neu in Linux, war ich zu diesem Zeitpunkt weniger als eine Stunde in meiner ersten Linux-Distribution.
user@computer:~/Java$ sudo apt-get install openjdk-8-jdk Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package openjdk-8-jdk
Jede Hilfe wäre dankbar. In der Zwischenzeit werde ich nur das Oracle-Paket verwenden. Vielen Dank.
Bearbeiten:
Jetzt habe ich ein neues Problem. Ich habe OpenJDK 7 installiert, es wurde mit Maven geliefert und erst installiert, bevor mir klar wurde, dass ich einen Zwei-für-Eins-Deal bekommen würde. Jetzt habe ich JDK 7 und Eclipse und Maven und sie arbeiten alle, aber ich bin eher auf JDK 7 als auf 8 fixiert.
Ich habe gesehen, dass es unten einen Link gibt. Ich habe vor, ihn am Morgen zu überprüfen. Es ist 2 Uhr morgens und ich bin gerade müde. Jeder andere Rat für diese neue Ausgabe wäre willkommen, sonst werde ich diesen Link auf jeden Fall gleich am Morgen überprüfen.
Antworten:
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:
Installieren Sie Ihre bevorzugte Version von jdk (Versionen von Java-6 bis Java-9 verfügbar):
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:
Bedarf
Wenn Sie
add-apt-repository: command not found
sicher sein müssen,software-properties-common
installiert zu haben :Wenn Sie eine ältere Version von Ubuntu verwenden:
JDK-Installation ohne Root-Rechte
Wenn Sie keine Administratorrechte auf Ihrem Zielcomputer haben, können Sie am einfachsten
sdkman
das zulu-zertifizierte openjdk installieren:HINWEIS : sdkman erlaubt auch die offizielle Oracle JDK zu installieren, obwohl es nicht eine der Standardoption ist. Verfügbare Versionen anzeigen mit:
Installieren Sie die ausgewählte Version mit:
Beispielsweise:
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 esman 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).quelle
apt-get install software-properties-common
. Ich werde den Beitrag entsprechend aktualisieren, um diese Anforderung aufzunehmen. Vielen DankWie Sie sehen, habe ich nur Java 1.7 installiert (auf einem Ubuntu 14.04-Computer).
Um Java 8 zu installieren, habe ich:
Danach habe ich jetzt Java 7 und 8,
BONUS HINZUGEFÜGT (wie man zwischen verschiedenen Versionen wechselt)
Wie Sie sehen, wird JDK 8 geöffnet. Um zu JDK 7 zu wechseln, drücken Sie
1
und drücken Sie die EnterTaste. Machen Sie dasselbe auch fürjavac
,sudo update-alternatives --config javac
.Überprüfen Sie die Versionen, um die Änderung zu bestätigen:
java -version
undjavac -version
.quelle
Ich bekomme OpenJDK 8 aus den offiziellen Debian-Repositories und nicht aus einer zufälligen PPA- oder nicht freien 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
:Machen Sie
/etc/apt/preferences.d/debian-jessie-backports
:Dann machen Sie endlich die Installation:
quelle
update-alternatives --config java ;-)
das sollte funktionieren
quelle
Ich hatte das gleiche Problem und habe alle Lösungen auf dieser Seite ausprobiert, aber keine davon hat es geschafft.
Was schließlich funktionierte, war das Hinzufügen des
universe
Repos zu meiner Repo-Liste. Führen Sie dazu den folgenden Befehl ausNachdem ich den obigen Befehl ausgeführt hatte, konnte ich ausführen
ohne ein Problem und das Paket wurde installiert.
Hoffe das hilft jemandem.
quelle
Nach dem Hinzufügen des
JDK
Repos möchten Sie vor der Installation möglicherweise zuerst ein Update ausführen, damit das Repo hinzugefügt werden kannapt update
und fahren Sie dann mit Ihrer Installation fort
sudo apt install adoptopenjdk-8-hotspot
quelle