
Ich habe alle Anweisungen befolgt, die in diesemFrage, aber mit dem letzten Teil habe ich einige Probleme.
Ich habe aktuell die Java Version 6.22 und möchte auf die Version 6.30 updaten.
Nachdem ich das extrahierte Verzeichnis verschoben habe java-6-oracle
, /usr/lib/jvm
weiß ich nicht, was ich tun soll, da das in der obigen Antwort erwähnte Skript von Java 5 auf Java 6 aktualisiert.
Der Übersichtlichkeit halber ist hier die Ausgabe, wenn ich ein „ ls
in dir“ mache /usr/lib/jvm
:
$ ls -l /usr/lib/jvm
total 8
lrwxrwxrwx 1 root root 14 2011-07-12 15:18 default-java -> java-6-openjdk
lrwxrwxrwx 1 root root 14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle
drwxr-xr-x 7 root root 4096 2012-02-24 14:43 java-6-openjdk
Was sollte ich jetzt tun?
HINZUGEFÜGTER TEIL
Auf Vorschlag von @fossfreedom habe ich das Skript trotzdem ausgeführt und tatsächlich hat es die Java-Version aktualisiert.
java -version
Wenn ich den Befehl ausführe , sieht die Ausgabe tatsächlich folgendermaßen aus:
$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)
Es gibtimmer noch ein Problem, wenn Irun, javac -version
wird mir die alte installierte Version angezeigt:
$ javac -version
javac 1.6.0_22
Und wenn ich den Tester an dieser Stelle benutzeVerknüpfunges wird mir sagen, dass die Version ist
Java Version 1.6.0_22 from Sun Microsystems Inc.
Was läuft schief?
Es scheint, dass die Java Runtime Environment aktualisiert wurde, der Java Compiler und das Java-Plugin für den Browser jedoch nicht.
Wie kann ich sie aktualisieren?
ANDERES HINZUGEFÜGTES TEIL
sudo update-alternatives --config java
gibt folgende Ausgabe zurück
$ 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-6.31-oracle/bin/java 1062 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6.31-oracle/bin/java 1062 manual mode
Press enter to keep the current choice[*], or type selection number:
Dies ist angesichts der Tatsache, dass JRE korrekt auf Version 6.31 aktualisiert wurde, sinnvoll. Die Probleme liegen beim Java-Compiler und dem Java-Browser-Plugin.
Irgendwelche Ideen?
Antwort1
Zu Ihrer ersten Frage:
Möglicherweise verwechseln Sie es mit der Angabe, dass das Webupd8-Skript die Version 0.5b hat. Das ist die Version des Skripts – es bezieht sich nicht auf die Java-Version.
Weiter zur Einstellung der Javac-Version.
Ich vermute, Sie müssen den Pfad des Javac-Compilers explizit angeben
dh
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1
gefolgt von:
sudo update-alternatives --config javac
In Bezug auf die Einrichtung des Java Chrome-Plugins.
Die Meisterfrage:
Wie installiere ich Oracle JDK 6?
enthält diese Informationen – da Ihre Ordnerstruktur etwas anders ist, sollte Ihr Link-Befehl lauten:
ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
Antwort2
SehenDas; laufen
sudo update-java-alternatives --list
um alle Java-Installationen auf einem Rechner nach Name und Verzeichnis aufzulisten und dann auszuführen
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
um auszuwählen, welches JRE/JDK verwendet werden soll.
Wenn Sie für jede Java-Aufgabe unterschiedliche JDKs/JREs verwenden möchten, können Sie update-alternatives ausführen, um jeweils eine ausführbare Java-Datei zu konfigurieren. Sie können
sudo update-alternatives --config java[Tab]
um die Java-Befehle anzuzeigen, die konfiguriert werden können (java, javac, javah, javaws usw.). Und dann
sudo update-alternatives --config [javac|java|javadoc|etc.]
ordnet diese Java-Aufgabe/diesen Java-Befehl einem bestimmten JDK/JRE zu.
Möglicherweise müssen Sie für einige Anwendungen auch JAVA_HOME festlegen: vondiese AntwortSie können verwenden
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
für JREs oder
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
für JDKs.
Antwort3
update-java-alternatives
Ich denke, du solltest dir mal den Befehl aus dem java-common
Paket und die von ihm verwendeten Dateien anschauen *.jinfo
. Damit solltest du komplett zwischen Java-Installationen wechseln können (unabhängig von JDK, JRE, ...).
Antwort4
Wenn Sie Alternativen für javac, javaws, javadoc oder andere Java-bezogene Befehle manuell festlegen, möchten Sie sie möglicherweise zu Slaves der Java-Alternative machen.
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"
update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links
:/opt/jdk1.8.0_74$ sudo update-alternatives --display java
Java – Auto-Modus-Link. Beste Version ist /opt/jdk1.8.0_74/bin/java. Link zeigt aktuell auf /opt/jdk1.8.0_74/bin/java. Link Java ist /usr/bin/java. Slave-Javadoc ist /usr/bin/javadoc. /opt/jdk1.8.0_74/bin/java – Priorität 0. Slave-Javadoc: /opt/jdk1.8.0_74/bin/javadoc.
Ersetzen Sie /opt/jdk1.8.0_74/ durch das Verzeichnis, in dem Ihr JDK installiert ist.