Irgendwie habe ich zwei Verzeichnisse für OpenJdk 8 auf meinem Ubuntu 16.04-System gefunden:
/usr/lib/jvm/java-8-openjdk-amd64
/usr/lib/jvm/java-1.8.0-openjdk-amd64
Das Problem ist, dass das erste Verzeichnis beschädigt zu sein scheint. Wenn ich /usr/lib/jvm/java-8-openjdk-amd64/bin/java HelloWorld
eine vorhandene HelloWorld.class
Datei bearbeite, erhalte ich nichts, aber wenn ich dies tue, /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java HelloWorld
wird die erwartete Ausgabe erzeugt.
Nun sieh dir das an:
core$ ll /etc/alternatives/jav*
lrwxrwxrwx 1 root root 42 Nov 7 11:02 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/bin/java*
lrwxrwxrwx 1 root root 52 Nov 2 19:32 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-9-openjdk-amd64/man/man1/java.1.gz
lrwxrwxrwx 1 root root 43 Nov 2 19:35 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac*
lrwxrwxrwx 1 root root 53 Nov 2 19:35 /etc/alternatives/javac.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 45 Nov 2 19:35 /etc/alternatives/javadoc -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc*
lrwxrwxrwx 1 root root 55 Nov 2 19:35 /etc/alternatives/javadoc.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 43 Nov 2 19:35 /etc/alternatives/javah -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javah*
lrwxrwxrwx 1 root root 53 Nov 2 19:35 /etc/alternatives/javah.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 43 Nov 2 19:35 /etc/alternatives/javap -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javap*
lrwxrwxrwx 1 root root 53 Nov 2 19:35 /etc/alternatives/javap.1.gz -> /usr/lib/jvm/java-8-openjdk-amd64/man/man1/javap.1.gz
Alle diese verweisen auf das 8
Verzeichnis und nicht auf das Verzeichnis, 1.8
was beim Ausführen von Programmen zu Problemen führt. Meine Frage ist: Wie kam es zu diesem Durcheinander und wie lässt sich das am besten lösen? Ich möchte alles andere entfernen und OpenJDK 8 als Standard-JDK verwenden.
software-installation
java
openjdk
ankush981
quelle
quelle
apt remove openjdk-8-j
openjdk-8-jdk openjdk-8-jdk-headless openjdk-8-jre openjdk-8-jre-headless
Antworten:
Wählen Sie die Java-Version:
Beispielausgabe:
Sie können auch die Alternativen für sehen
java
,javac
indem Sie die--list
Option verwenden:quelle
Okay, das Problem in meinem Fall war, dass ich openjdk unwissentlich auch kopflos installiert hatte und somit zwei Installationen hatte. Ich habe endlich alle JDKS von meinem System entfernt und JDK 9 installiert (was keine problemlose Installation ist, könnte ich hinzufügen!) Und jetzt scheint alles sortiert zu sein!
quelle