Reemplace openjdk con oracle-jdk en Ubuntu

53

Tengo un sistema ubuntu y quiero reemplazar mi openjdk con oracle-jdk.

Sin embargo, si elimino mi open-jdk y luego instalo oracle-jdk, cuando intento instalar algunos paquetes, quieren instalar openjdk y no quiero esto.

¿Hay alguna forma de instalar esos paquetes encima de oracle-jdk? Uno de esos paquetes es freemind.

pequeño Ali
fuente
¿Qué paquetes requieren open-jdk que desea instalar? (además de freemind)
Seth
Cogí Oracle JDK-sumándose a PATHen /etc/profile.d/jdk.sh. Eliminar este archivo e iniciar un nuevo shell permite update-alternativeshacer su trabajo.
jozxyqk

Respuestas:

78

Puede eliminar por completo la instalación OpenJDKnueva y Oracle Java JDKsiguiendo estos pasos:

  1. Eliminar OpenJDKcompletamente con este comando:

    sudo apt-get purge openjdk-\*
  2. Descargue el Oracle Java JDK aquí .

    Nota: descargue el archivo apropiado, por ejemplo, si su sistema es Ubuntu x64 (es decir, Debian), el archivo de descarga se llama así:jdk-8u51-linux-x64.tar.gz

    Para saber qué versión es su sistema operativo, consulte aquí

  3. Crear una carpeta con el nombre javade /usr/local/este comando:

    sudo mkdir -p /usr/local/java
  4. Copie el archivo descargado en el directorio /usr/local/java. Para hacer esto, cden el directorio donde se encuentra el archivo descargado y use este comando para copiar ese archivo a /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD en el /usr/local/java/directorio y extraiga el archivo copiado con este comando:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Después de la extracción, debe ver una carpeta llamada jdk1.8.0_51.

  7. Actualice el PATHarchivo abriendo el /etc/profilearchivo mediante el comando sudo nano /etc/profiley pegue lo siguiente al final del archivo:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. Guardar y Salir.

  9. Indique al sistema que la nueva versión de Oracle Java está disponible mediante los siguientes comandos:

    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. Establezca Oracle Java JDK como predeterminado mediante los siguientes comandos:

    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. Vuelva a cargar el camino ancho del sistema / etc / profile con este comando:

    source /etc/profile
  12. Reinicie su sistema.

  13. Verifique la versión Java JDK por java -versioncomando. Si la instalación es exitosa, se mostrará de la siguiente manera:

    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)

¡Eso es!

Nota: Suponemos que el archivo descargado se llama jdk-8u51-linux-x64.tar.gzy utiliza este nombre en todos los comandos utilizados en los pasos 2, 4 y 5. Puede depender del tipo de sistema operativo, tipo de procesador (es decir, 32 bits o 64 bits)

Nithi2023
fuente
1
Además de esta es la forma correcta de instalar manualmente oracle-jdk, hay un paquete disponible de WebUpd8 PPA que también se actualizará. Por lo tanto, no es necesario instalar todas las versiones nuevas manualmente. Vea mi respuesta aquí: askubuntu.com/questions/466166/…
lschuetze
2
En lugar de utilizar el directorio jdk1.8.0_51, cree un enlace simbólico llamado "jdk" en este directorio y la próxima vez que actualice simplemente extraiga el tarball JDK y vuelva a crear el enlace simbólico y listo.
ColinM
para usuarios de ubuntu: hay un método infalible a continuación de @mihaic que me funciona bien
Carson Ip
Eres rockstar
Bhupinder
Tenga en cuenta que si desea descargar el JDK en Ubuntu Server (sin GUI), puede usar el siguiente comando: 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" siempre puede copiar la última versión volviendo a la página de descarga de Oracle y generar una nueva.
Toan Nguyen
20

No necesita eliminar openjdk para usar / instalar el jdk del oráculo. Simplemente instale el jdk del oráculo y configure qué java desea usar configurándolo con:

sudo update-alternatives --config java

Puedes encontrar más ayuda aquí: https://help.ubuntu.com/community/Java

Myx
fuente
Necesito una manera de tener solo un java en mi ubuntu. tnx.
pequeño Ali
Esta es una respuesta genial. Groovy en Debian jessie obliga a instalar openjdk, pero el trabajo que hago requiere (no pregunte) el Oracle JDK para su compilación. Esta opción me permitió dejar instalados openjdk y oracle jdk para que todo funcione bien. ¡Gracias!
sanimalp
11

Probado en Ubuntu 14.04 / 16.04. En tres pasos:

  1. Instale el oracle-java7-installer(o oracle-java8-installer) desde el repositorio webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Asegúrese de que funcione con el siguiente comando:

    java -version

    Debería mostrar algo similar 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. (Opcional) Elimine open-jdk si realmente desea / necesita:

    sudo apt-get purge openjdk-\*

Puedes encontrar más información aquí

toto_tico
fuente
Seguí tus instrucciones y recibí un Unable to find java executable. Check JAVA_HOME and PATH environment variables.error
Zack S
sorprendido de encontrar mi propia respuesta un año después, esto todavía funciona para Ubuntu 16.04 yoracle-java8-installer
toto_tico
Obtuve esto al agregar el repositorio: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

Después de eliminar openjdk, prueba este enfoque que funcionó para mí:

Instale oracle jdk 7 en el servidor ubuntu (probado 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

más información aquí: https://launchpad.net/~webupd8team/+archive/java

(Nota para adaptar esto para su versión de jdk)

mihaic
fuente