bash: / usr / bin / java: Keine solche Datei oder kein solches Verzeichnis

9

Ich habe jdk1.8.0 manuell von der Oracle-Website installiert.

Ich habe die Schritte hier auf Digital Ocean befolgt .

Als ich ausgeführt habe, habe java -versionich folgendes Ergebnis erhalten:

bash: /usr/bin/java: No such file or directory

Es ist ein symbolischer Link Java vorhanden, in /usr/bin/ dem ein anderer symbolischer Link Java enthalten ist, auf den /etc/alternatives/dieser Link verweist /usr/lib/jvm/jdk1.8.0.

Ich habe Umgebungsvariablen gesetzt: - PATH, JAVA_HOME in den Dateien ~/.bashrcund /etc/profile. Ich bekomme immer noch No such file or directory.

Eigentlich möchte ich hadoop installieren und dazu ist der erste Schritt die Installation von Java. Ich benutze Ubuntu 14.04

Adla Sutej
quelle
Was ist die Ausgabe von 'update-alternatives --display java'?
Willl459
Ausgabe: - Java - Der Link für den automatischen Modus zeigt derzeit auf /usr/lib/jvm/jdk1.8.0_45/bin/java /usr/lib/jvm/jdk1.8.0_45/bin/java - Priorität 3 / usr / lib / jvm /jre1.8.0_45/bin/java - Priorität 2 Die aktuelle 'beste' Version ist '/usr/lib/jvm/jdk1.8.0_45/bin/java'.
Adla Sutej
In den Anweisungen auf dieser Site wird vorgeschlagen, das Java-Paket in / opt / jdk zu extrahieren und anschließend einen symbolischen Link von / usr / bin zu diesem zu erstellen. Ihre Ausgabe schlägt vor, dass Sie stattdessen symbolisch mit /usr/lib/jvm/jdk1.8.0_45 verknüpft sind, aber keine Informationen darüber, von wo aus verlinkt wird. Stellen Sie sicher, dass der Link und der Pfad zum Befehl update-alternatives / usr / bin / java bzw. der Extraktionsort sind. Die Manpage für Update-Alternativen finden Sie hier .
Willl459
Ich habe jetzt die Datei in / opt / jdk extrahiert und jetzt ist die Ausgabe des Befehls update-alternatives --display java: - java - Der Link für den automatischen Modus zeigt derzeit auf /opt/jdk/jdk1.8.0_45/bin/java / opt / jdk / jdk1.8.0_45 / bin / java - Priorität 100. Ich erhalte immer noch die gleiche Fehlermeldung beim Ausführen der Java-Version /usr/lib/jvm/jre1.8.0_45/bin/java - Priorität 2 Die aktuelle 'beste' Version ist '/opt/jdk/jdk1.8.0_45/bin/java '
Adla Sutej
Sie müssen den Anweisungen von Maythux unten folgen, es scheint, dass alles richtig extrahiert und verknüpft ist, so dass wahrscheinlich eine Abhängigkeit fehlt.
Willl459

Antworten:

19

Dies liegt daran, dass in Ihrem Ubuntu 64-Bit einige 32-Bit-Bibliotheken fehlen. Lauf:

apt-get install libc6-i386

Weitere Informationen finden Sie in diesem Beitrag zum Stapelüberlauf

Maythux
quelle
Ich habe den oben aufgeführten Befehl ausgeführt, erhalte jedoch eine Fehlermeldung: -Paket 'libc6-i386' hat keinen Installationskandidaten
Adla Sutej
1
laufen sudo apt-get updateund dannsudo apt-get install libc6-i386
Maythux
Ich habe den Befehl sudo apt-get update bereits früher ausgeführt und erhalte eine Fehlermeldung. Fehler beim Abrufen und es wird kein Update angezeigt. Ich habe auch diesen Fehler gegoogelt und viele Lösungen ausprobiert, aber das Problem wurde noch nicht gelöst.
Adla Sutej
1
Eigentlich bin ich neu bei Ubuntu. Ich weiß nicht, wie man den Server von der Softwarequelle ändert. Würdest du mich bitte führen, Sir?
Adla Sutej
1
hat mein Leben gerettet. und 20 Minuten Frust.
Mirror Mirage
3

Ich bin auf ein ähnliches Problem gestoßen und habe es durch gelöst

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6-i386

Wenn Sie apt-getdas libc-i386- Paket nicht finden konnten, müssen Sie es möglicherweise --add-architectureausführen apt-get update.

LesPaul
quelle
0

Versuchen Sie, OpenJDK 8 zu installieren:

sudo apt install openjdk-8-jre

Es hat bei mir funktioniert

Shivam Agrawal
quelle
aber warum? Gibt es Details, warum das Hinzufügen eines weiteren JDK dieses Problem löst?
childno͡.de