Ersetze openjdk unter Ubuntu durch oracle-jdk

52

Ich habe ein Ubuntu-System und möchte mein openjdk durch oracle-jdk ersetzen.

Wenn ich jedoch mein open-jdk entferne und dann oracle-jdk installiere, möchten sie openjdk installieren, wenn ich versuche, einige Pakete zu installieren, und ich möchte dies nicht.

Gibt es eine Möglichkeit, diese Pakete über oracle-jdk zu installieren? Eines dieser Pakete ist Freemind.

kleiner ali
quelle
Welche Pakete benötigen open-jdk, das Sie installieren möchten? (außer freemind)
Seth
Ich fing Orakel-jdk Zugabe selbst PATHin /etc/profile.d/jdk.sh. Entfernen Sie diese Datei und starten Sie eine neue Shell update-alternatives, die ihren Job machen darf .
Jozxyqk

Antworten:

78

Sie können die OpenJDKund frische Installation vollständig entfernen, Oracle Java JDKindem Sie die folgenden Schritte ausführen :

  1. Mit OpenJDKdiesem Befehl vollständig entfernen :

    sudo apt-get purge openjdk-\*
  2. Laden Sie das Oracle Java JDK hier herunter .

    Hinweis: Laden Sie die entsprechende Datei herunter. Wenn Ihr System beispielsweise x64 Ubuntu (dh Debian) ist, trägt die Download-Datei den folgenden Namen:jdk-8u51-linux-x64.tar.gz

    Überprüfen Sie hier , welche Version Ihr Betriebssystem ist

  3. Erstellen Sie einen Ordner mit dem Namen javain die /usr/local/mit diesem Befehl:

    sudo mkdir -p /usr/local/java
  4. Kopieren Sie die heruntergeladene Datei in das Verzeichnis /usr/local/java. Wechseln Sie dazu cdin das Verzeichnis , in dem sich die heruntergeladene Datei befindet, und kopieren Sie diese Datei mit diesem Befehl nach /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD ins /usr/local/java/Verzeichnis und extrahiere die kopierte Datei mit folgendem Befehl:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Nach dem Extrahieren muss ein Ordner mit dem Namen angezeigt werden jdk1.8.0_51.

  7. Aktualisieren Sie die PATHDatei, indem Sie die /etc/profileDatei mit dem Befehl öffnen sudo nano /etc/profileund am Ende der Datei Folgendes einfügen:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. Speichern und schließen.

  9. Teilen Sie dem System mit, dass die neue Oracle Java-Version mit den folgenden Befehlen verfügbar ist:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
  10. Machen Sie Oracle Java JDK mit den folgenden Befehlen zum Standard:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
  11. Laden Sie sytem wide PATH / etc / profile mit diesem Befehl neu:

    source /etc/profile
  12. Starten Sie Ihr System neu.

  13. Überprüfen Sie die Java JDK-Version per java -versionBefehl. Wenn die Installation erfolgreich war, wird Folgendes angezeigt:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)

Das ist es!

Hinweis: Wir gehen davon aus, dass die heruntergeladene Datei benannt ist jdk-8u51-linux-x64.tar.gzund diesen Namen in allen in den Schritten 2, 4 und 5 verwendeten Befehlen verwendet. Dies kann vom Betriebssystemtyp und vom Prozessortyp abhängen (z. B. 32-Bit oder 64-Bit).

Nithi2023
quelle
1
Außerdem gibt es ein Paket von WebUpd8 PPA, das ebenfalls aktualisiert wird. Es muss also nicht jede neue Version manuell installiert werden. Siehe meine Antwort hier: askubuntu.com/questions/466166/…
lschuetze
2
Anstatt das Verzeichnis jdk1.8.0_51 zu verwenden, erstellen Sie einen Symlink mit dem Namen "jdk" für dieses Verzeichnis. Wenn Sie das nächste Mal aktualisieren, extrahieren Sie einfach den JDK-Tarball und erstellen den Symlink neu, und fertig.
ColinM
Für Ubuntu-Benutzer: Es gibt eine narrensichere Methode von @mihaic, die für mich gut funktioniert
Carson Ip
Sie sind Rockstar
Bhupinder
Beachten Sie, dass Sie den folgenden Befehl verwenden wget --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz" können , wenn Sie das JDK in Ubuntu Server (ohne GUI) herunterladen möchten: Sie können immer die neueste Version kopieren, indem Sie die Oracle-Downloadseite aufrufen und eine neue generieren.
Toan Nguyen
20

Sie müssen openjdk nicht entfernen, um das jdk von oracle zu verwenden / zu installieren. Installieren Sie einfach das JDK von Oracle und konfigurieren Sie, welches Java Sie verwenden möchten, indem Sie es konfigurieren mit:

sudo update-alternatives --config java

Weitere Hilfe finden Sie hier: https://help.ubuntu.com/community/Java

Myx
quelle
Ich brauche einen Weg, um nur ein Java auf meinem Ubuntu zu haben. tnx.
Little Ali
Das ist eine großartige Antwort. Groovy unter Debian jessie erzwingt die Installation von openjdk, aber für die Arbeit, die ich mache, muss das Oracle JDK zum Kompilieren verwendet werden (fragen Sie nicht danach). Diese Option erlaubte mir, sowohl openjdk als auch oracle jdk installiert zu lassen, damit alles gut funktioniert. Vielen Dank!
Sanimalp
11

Getestet in Ubuntu 14.04 / 16.04. In drei Schritten:

  1. Installieren Sie das oracle-java7-installer(oder oracle-java8-installer) aus dem webupd8team-Repository

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Stellen Sie sicher, dass es mit dem folgenden Befehl funktioniert:

    java -version

    Es sollte ungefähr so ​​aussehen:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
  3. (Optional) Entfernen Sie das open-jdk, wenn Sie wirklich wollen / müssen:

    sudo apt-get purge openjdk-\*

Weitere Informationen finden Sie hier

toto_tico
quelle
Befolgen Sie Ihre Anweisungen und bekam einen Unable to find java executable. Check JAVA_HOME and PATH environment variables.Fehler
Zack S
überrascht, dass ich ein Jahr später meine eigene Antwort gefunden habe, funktioniert dies immer noch für Ubuntu 16.04 undoracle-java8-installer
toto_tico
W: The repository 'http://ppa.launchpad.net/natecarlson/maven3/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
Bekam
8

Versuchen Sie nach dem Entfernen von openjdk den folgenden Ansatz, der bei mir funktioniert hat:

Installieren Sie Oracle JDK 7 auf Ubuntu Server (getestet mit Ubuntu 12.0.4)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Weitere Informationen hier: https://launchpad.net/~webupd8team/+archive/java

(Hinweis, um dies für Ihre Version von jdk anzupassen)

mihaic
quelle