Ubuntu scheint OpenJDK / JRE gegenüber Sun JDK / JRE zu bevorzugen. Auch nachdem ich Sun JRE, JDK und das Plugin installiert und einige Zeit damit verbracht habe, OpenJDK-bezogene Pakete auszupacken, hat apt-get sie mit einigen Paketen als Abhängigkeit zurückinstalliert. Kann dieses Verhalten zugunsten von Sun Java-Paketen korrigiert werden? Ich möchte nur einen Java-Stack installiert haben (ja, es ist ein bisschen OCD , aber ich möchte, dass meine Systeme sauber sind) und möchte, dass es Sun Java ist.
Update: Wie Marcos Roriz bemerkt, scheint das Problem in default-jre (von dem Java-abhängige Pakete abhängen) zu liegen und auf OpenJDK zu verweisen. Die Frage scheint also zu lauten, wie default-jre / default-jdk zu hacken ist zu Sun Java.
Antworten:
Installieren von Sun Java auf älteren Ubuntu-Versionen (9.10 und niedriger)
Ich hatte vor ungefähr drei Jahren das gleiche Problem mit Ubuntu 8.04, denke ich. Es gab ein seltsames Problem bei der Verwendung von openjre und das Problem wurde mit der Version sun jre behoben. Hier sind die Schritte im Terminal, die für Versionen unter 10.04 gelten, da ab 10.04 sun java gelöscht und durch openjre ersetzt wurde:
(Alles was mit Sun Java zu tun hat. Nur um sicherzugehen)
Wenn Sie danach openjdk entfernen, haben Sie nur noch sun java. Wenn Sie es nicht entfernt haben, haben Sie beide. So wechseln Sie von einem zum anderen:
sudo update-java-alternatives -l
- Dies zeigt Ihnen die Liste der Java-Engines, die Sie verwenden können.Der Name der Java-Alternative ist der links, so dass openjdk zum Beispiel so aussehen würde:
Und Sie würden das System folgendermaßen auf openjdk einstellen:
Wenn Sie Sun verwenden möchten, tun Sie dies (nach der Installation der Sun-Pakete):
Wenn Sie die Java 7-Version verwenden möchten, ändern Sie einfach die oben genannte Nummer 6 für 7. Wenn ich zum Beispiel die openjre-Version 7 installieren möchte, würde ich Folgendes tun:
Installieren von Sun Java auf neueren Versionen von Ubuntu (10.04 und höher)
Öffnen Sie das Terminal und geben Sie Folgendes ein:
Damit sollte die Sun Java-Version auf Ihrem System installiert sein. Um dorthin zu wechseln, gehen Sie einfach wie folgt vor, falls Sie andere Java-Alternativen haben:
Wenn die Installation automatisch erfolgen soll, geben Sie Folgendes ein:
Danach gehen Sie einfach wie folgt vor, um die Standard-Umgebungsvariablen festzulegen:
Beachten Sie, dass die PPA die Versionen 6, 7 und 8 enthält. Sie können also jede dieser Versionen installieren, indem Sie einfach die Nummer in der Installationszeile ändern. Beispiel:
Würde Java 8 installieren. Nach der Installation der Java-Version, die Sie verwenden möchten, und dem Festlegen der Standardversion mit dem
update-java-alternatives
Befehl können Sie überprüfen, welche Version Sie verwenden, indem Sie Folgendes eingeben:Es wird Ihnen die Standardversion angezeigt, die Sie gerade verwenden.
Ich möchte auch erwähnen, dass OpenJRE / JDK einen langen Weg zurückgelegt hat, seit es vor zwei oder drei Jahren viele Probleme gab, die durch den Wechsel zu Sun Java behoben wurden.
quelle
Ich denke, das Problem ist, dass einige Java-Pakete auf default-jre basieren, was auf openjdk-jre verweist. Ich glaube nicht, dass es einfach ist, openjdk dauerhaft zu deinstallieren. Die Sache ist, dass Sie wahrscheinlich wieder auf openjdk stoßen werden, wenn Sie ein Java-Paket / -Programm installieren.
Wenn Sie jedoch beides möchten, ist es einfach, die Java-Laufzeitprogramme (Java, Java, JavaP usw.) auf die Sun-Implementierung einzustellen. Tu es:
Oder wenn Sie ein Java-Entwickler sind (installieren Sie das SDK und das SRCS):
Und setzen Sie es als Standardprogramme mit:
quelle
default-jre
Paket so umzubauen, dass es heute Abend auf sun-java zeigt. Im Moment bin ich @ work.Die
.jdk1.6.0_23.jinfo
Datei sollte eine Liste der mitgelieferten Programme und ihrer Pfade sein. Es gibt eine beschreibende Überschrift, gefolgt von einer Leerzeile. Dann eine Liste der Programme in einem Format mit drei Feldern: Eintragstyp (jre / jkd / plugin); Programmname; und Pfad. Sie sollten einige jinfo-Dateien haben, mit denen Sie sehen können, wie der Inhalt aussehen soll. Dies wird wahrscheinlich vom alternativen Mechanismus verwendet, um zu bestimmen, welche Verknüpfungen erstellt werden sollen. Der Kopf meines Sun-Pakets ist.Wenn Sie die Standard-Java-Befehle überschreiben möchten, ohne den alternativen Mechanismus zu verwenden, setzen Sie Ihren Java-Pfad in Ihrem Pfad vor / usr / bin.
Bei einer manuellen Installation installiere ich Java in
/opt
. für deine install hätte ich in installiert/opt/jdk1.6.0_23
. Dann setze ich den Pfad$JAVA_HOME/bin
an den Anfang meinerPATH
Variablen.BEARBEITEN: Dies ist die gesamte Sun-Datei. Hinweis
.java-6-sun.jinfo
ist ein symbolischer Link zu.java-6-sun-1.6.0.22.jinfo
.quelle
Openjdk und icedtea löschen:
Fügen Sie Folgendes zu /etc/apt/sources.list hinzu
Installieren Sie Sun / Oracle JRE oder JDK:
quelle
Hast du es überprüft?
Wenn Sie es nicht brauchen: Deinstallieren Sie openjdk und gcj in synaptic oder mit apt-get.
Ich würde Java dann von Alternativen verbannen und meistens tun, wie BillThor vorgeschlagen hatte, warum ich ihm eine Aufwertung gegeben habe.
sollte zeigen, wo Sie Java installiert haben und wo es im PATH zu finden ist.
quelle
which
Befehle ausprobiert und es wird nichts gedruckt. Als ich herausfand, dass ich das $ -Symbol vor der Variablen JAVA_HOME in PATH vergessen hatte, starte ich jetzt neu und sehe, wie es geht.which
Befehl zeigt immer noch nichts an. Die Variablen JAVA_HOME und PATH sind korrekt: echo $ JAVA_HOME /usr/lib/jvm/jdk1.6.0_23 echo $ PATH $ JAVA_HOME / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games Wo könnte das Problem liegen? Edit: GOTT VERDAMMT ES, warum gibt es keine Zeilenumbrüche in Kommentaren ???echo $PATH $JAVA_HOME/bin:/usr/local/sbin...
aber im Ergebnis muss $ JAVA_HOME ausgewertet werden - es stimmt etwas nicht, oder Ihre Meldung ist fehlerhaft. c) Zeilenumbrüche: Sie sind nicht vorhanden, so dass wir ständig zu früh die EINGABETASTE drücken und dann die Uhr tickt, weil das Bearbeiten nur für einige Minuten zulässig ist - ich gehe ständig in diese Falle. Ich hasse es! :)echo $JAVA_HOME
aberecho $PATH
Druck$JAVA_HOME...
oder den Wert für JAVA_HOME, dh nicht gedruckt:/usr/lib/jvm/jdk1.6.0_23
?java -version
in die Shell eingibt (es wird nur Sun Java angezeigt)sudo update-java-alternatives -l
und es funktioniert nur, wenn sie zwei jdk installiert haben und sun-java als standardumgebung festlegen möchten
quelle
Unter Ubuntu 10.10 müssen Sie anscheinend zuerst in Synaptic libaccess-bridge-java und dann openjdk-6-jre-headless zum Entfernen markieren.
Am Ende musste eine Liste entfernt werden:
Das hat funktioniert, aber es hat ein Verzeichnis
/etc/java-6-openjdk
mit verschiedenen Dateien und Unterverzeichnissen hinterlassen, das ich in einem neuen Verzeichnis isoliert habe. Es gab keine ungewöhnlichen Effekte, daher handelt es sich vermutlich nur um einen Überrest.Dadurch blieb mir das Java, das ich direkt von der Java-Website heruntergeladen hatte. Obwohl es als Standard festgelegt und der Link zum Firefox-Plugins-Verzeichnis erstellt wurde, funktionierte es nicht mehr. Bei der Installation von sun-java6-jre und den dazugehörigen Paketen gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin und unixodbc über Synaptic wurde das Java-Plugin wieder aktiviert. Das Entfernen des Links im Plugins-Verzeichnis und das Ersetzen durch die aktuelle libnpjp2.so-Datei funktionierte nicht. Die Verwendung eines Links zu den Dateien libjavaplugin_oji.so in den Verzeichnissen ns7 oder ns7-gcc29 in Java, die über Synaptic installiert wurden, funktionierte ebenfalls nicht. Dies legt für mich den Schluss nahe, dass man die Anweisungen auf der Java-Website befolgen kann, um das neueste Java-Plugin in Firefox zu erhalten, und dass das integrierte Linux-Java jeder Art zum Ausführen des heruntergeladenen Java erforderlich ist. Dieses hängt dann von den Dateien ab, die es umgeben, sobald das Plugin aktiviert wurde. Während ein vollständiges Verständnis des Codes, der Java und Linux umfasst, erforderlich wäre, um seine Geheimnisse wirklich zu lösen, sind diese Experimente möglicherweise hilfreich, um die Gründe zu finden, warum in diesem Fall möglicherweise zwei Java benötigt werden. Zumindest ist es möglich, auch alles Java zu entfernen, wenn jemand dies für nützlich hält.
quelle
Was ich auf neuen Ubuntu 10.10-Rechnern mache, ist
Dann ist es in Ordnung für mich, keine openJDK-Abhängigkeiten mehr
quelle
Die Antworten auf diese Frage haben bei mir nicht funktioniert. Folgendes ist fehlgeschlagen:
Mit dem Fehler:
Versuchen Sie stattdessen diese Anweisungen :
icedtea-6-jre-cacao
), falls es installiert ist.Das OpenJDK (IcedTea) ist jetzt installiert, sodass Sie (falls Sie diesen Fehler hatten) das JDK von Oracle ohne Fehler installieren können.
Siehe auch:
quelle
Zuerst: openjdk und icedtea plugin entfernen.
Zweitens: Kopieren Sie die JDK-Datei .bin nach / opt oder / usr / java und extrahieren Sie sie.
Drittens: einen Link der Java-Datei nach / usr / bin / setzen
Aktualisieren Sie die Alternativen mit update-alternatives
Erstellen Sie im Firefox-Plugins-Verzeichnis einen symbolischen Link zum Java-Plugin.
Erstellen Sie einen symbolischen Link zur Datei Java Plugin libnpjp2.so im Firefox-Plugins-Verzeichnis:
Hoffe das hilft.
quelle