Sostituisci openjdk con oracle-jdk su Ubuntu


53

Ho un sistema Ubuntu e voglio sostituire il mio openjdk con oracle-jdk.

Tuttavia, se rimuovo open-jdk e installo oracle-jdk, quando provo a installare alcuni pacchetti vogliono installare openjdk e non lo voglio.

Esiste un modo per installare quei pacchetti su oracle-jdk? Uno di quei pacchetti è freemind.


Quali pacchetti richiedono open-jdk che si desidera installare? (Oltre a Freemind)
Seth

Ho catturato oracle-jdk aggiungendosi a PATHin /etc/profile.d/jdk.sh. La rimozione di questo file e l'avvio di una shell nuova hanno permesso update-alternativesdi fare il suo lavoro.
jozxyqk,

Risposte:


78

È possibile rimuovere completamente OpenJDKe installare nuovamente Oracle Java JDKattenendosi alla seguente procedura:

  1. Rimuovi OpenJDKcompletamente con questo comando:

    sudo apt-get purge openjdk-\*
  2. Scarica Oracle Java JDK qui .

    Nota: scarica il file appropriato, ad esempio se il tuo sistema è Ubuntu x64 (cioè Debian) il file di download è chiamato così:jdk-8u51-linux-x64.tar.gz

    Per sapere quale versione è il tuo sistema operativo, controlla qui

  3. Creare una cartella denominata javain /usr/local/da questo comando:

    sudo mkdir -p /usr/local/java
  4. Copia il file scaricato nella directory /usr/local/java. Per fare ciò, cdnella directory in cui si trova il file scaricato e utilizzare questo comando per copiare quel file in /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD nella /usr/local/java/directory ed estrarre quel file copiato usando questo comando:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Dopo l'estrazione è necessario visualizzare una cartella denominata jdk1.8.0_51.

  7. Aggiorna il PATHfile aprendo il /etc/profilefile con il comando sudo nano /etc/profilee incolla quanto segue alla fine del file:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. Salva ed esci.

  9. Comunicare al sistema che la nuova versione di Oracle Java è disponibile con i seguenti comandi:

    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. Imposta Oracle Java JDK come predefinito con i seguenti comandi:

    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. Ricarica il sistema completo PATH / etc / profile con questo comando:

    source /etc/profile
  12. Riavvia il tuo sistema.

  13. Controlla la versione JDK di Java per java -versioncomando. Se l'installazione ha esito positivo, verrà visualizzato come segue:

    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)

Questo è tutto!

Nota: abbiamo ipotizzato che il file scaricato sia stato nominato jdk-8u51-linux-x64.tar.gze utilizzato questo nome in tutti i comandi utilizzati nei passaggi 2, 4 e 5. Potrebbe dipendere dal tipo di sistema operativo, dal tipo di processore (ovvero, 32 bit o 64 bit)


1
Oltre a questo è il modo corretto di installare manualmente oracle-jdk, è disponibile un pacchetto da WebUpd8 PPA che verrà aggiornato. Quindi non è necessario installare manualmente ogni nuova versione. Vedi la mia risposta qui: askubuntu.com/questions/466166/…
lschuetze

2
Invece di usare la directory jdk1.8.0_51, crea un link simbolico chiamato "jdk" in questa directory e la prossima volta che aggiorni basta estrarre il tarball JDK e ricreare il link simbolico e il gioco è fatto.
ColinM,

per utenti ubuntu: esiste un metodo infallibile di seguito da @mihaic che funziona bene per me
Carson Ip,

Sei rockstar
Bhupinder,

Si noti che se si desidera scaricare JDK in Ubuntu Server (senza GUI), è possibile utilizzare il comando seguente: 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" È sempre possibile copiare l'ultima versione tornando alla pagina di download di Oracle e generandone una nuova.
Toan Nguyen il

20

Non è necessario rimuovere openjdk per utilizzare / installare il jdk dell'oracolo. Installa semplicemente l'oracle jdk e configura quale java vuoi usare configurandolo con:

sudo update-alternatives --config java

Puoi trovare altro aiuto qui: https://help.ubuntu.com/community/Java


Ho bisogno di un modo per avere un solo java sul mio Ubuntu. tnx.
piccola ali

Questa è un'ottima risposta Groovy su Debian jessie forza l'installazione di openjdk, ma il lavoro che faccio richiede (non chiedere) Oracle JDK per la compilazione. Questa opzione mi ha permesso di lasciare sia openjdk che oracle jdk installati in modo che tutto funzioni bene. Grazie!
sanimalp,

11

Testato in Ubuntu 14.04 / 16.04. In tre passaggi:

  1. Installa il oracle-java7-installer(o oracle-java8-installer) dal repository webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Assicurati che funzioni con il seguente comando:

    java -version

    Dovrebbe essere visualizzato qualcosa di simile a:

    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. (Facoltativo) Rimuovere open-jdk se si desidera / è necessario:

    sudo apt-get purge openjdk-\*

Puoi trovare maggiori informazioni qui


Ho seguito le tue indicazioni e ho ricevuto un Unable to find java executable. Check JAVA_HOME and PATH environment variables.errore
Zack S

sorpreso di trovare la mia risposta un anno dopo, questo funziona ancora per Ubuntu 16.04 eoracle-java8-installer
toto_tico,

Ottenuto questo aggiungendo il repository: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.
crockpotveggies

8

Dopo aver rimosso openjdk, prova questo approccio che ha funzionato per me:

Installa Oracle JDK 7 sul server Ubuntu (testato con 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

alcune maggiori informazioni qui: https://launchpad.net/~webupd8team/+archive/java

(nota per adattarlo alla tua versione di jdk)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.