jdk instalar java linux oracle centos rpm

instalar - yum install java 8 redhat



Tenía Open JDK 1.7 en CentOS; Instalé las rpm de Java de Oracle; Oracle Java no parece existir (5)

Compruebe si su JAVA_HOME apunta a JDK 6 utilizando echo $JAVA_HOME . Para cambiar su JAVA_VERSION a Java 6, debe apuntar al KIT de desarrollo de Java 6. También debe agregar el directorio bin a la variable $PATH . Asegúrese de que el directorio JDK6 bin se encuentre en $ PATH antes de otro bin JDK, si corresponde. Puede verificar la versión de su Java en el entorno mediante el comando java -version . La otra respuesta de learningloop es muy perfecta para cambiar entre diferentes configuraciones de Java

Empecé con CentOS y OpenJDK 1.7

# java -version java version "1.7.0_25" OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Para ejecutar una aplicación específica, quiero usar Java 1.6 de Oracle, proporcionado desde un RPM.

Copié el binario de Oracle a un nuevo directorio específico:

# pwd /oracleJava/jdk-6u45-linux-x64-rpm

Extraje el binario y me dio los siguientes archivos:

# ls jdk-6u45-linux-amd64.rpm sun-javadb-core-10.6.2-1.1.i386.rpm sun-javadb-javadoc-10.6.2-1.1.i386.rpm sun-javadb-client-10.6.2-1.1.i386.rpm sun-javadb-demo-10.6.2-1.1.i386.rpm sun-javadb-common-10.6.2-1.1.i386.rpm sun-javadb-docs-10.6.2-1.1.i386.rpm

Instalé el RPM y la utilidad rpm cree que se instaló correctamente: rpm -q jdk jdk-1.6.0_45-fcs.x86_64

# rpm -Uvh ./*.rpm Preparing... ########################################### [100%] package jdk-2000:1.6.0_45-fcs.x86_64 is already installed # rpm -Uvh sun-javadb-*.rpm [I omit the feedback because it generates a formatting error] #

Sin embargo, la versión de Java solo muestra 1.7 # java -version versión java "1.7.0_25" OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64) OpenJDK 64-Bit Server VM (compilación 23.7-b01, modo mixto)

En otras palabras, esperaba que los archivos de Oracle me dieran algún directorio / java nuevo en alguna parte, con un nuevo ejecutable de Java que devolvería una respuesta diferente para "java -version"

Necesito ese nuevo directorio para poder establecer JAVA_HOME y usar la versión 1.6 de Java.

Las sugerencias útiles serían muy apreciadas. Gracias por adelantado.


Ejecute el siguiente comando para ver si su JVM figura en la lista.

sudo update-alternatives --config java

Si su JVM aparece en la lista, selecciónela.


Los RPM de Oracle JDK son horribles.

  • No se registran en el sistema de alternativas .
  • No proporcionan (en términos de RPM) "java"
  • Han arruinado su ''cadena de versiones'' de RPM y confían en Epoch (...)
  • Todas las versiones del JDK (es decir, 1.6 vs 1.7) tienen la misma Época

Para remediar rápidamente su problema, puede ejecutar lo siguiente:

/usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000

Se registrará y preferirá la instalación de Oracle java como alternativa. OpenJDK tiene un peso de 16000; aquí nos registramos con 20000. Una vez que haya ejecutado este comando, puede cambiar entre las versiones de Java utilizando las alternativas (ya mencionadas) --config java command.

En cuanto a una solución menos rápida, puedes usar mi paquete virtual de Java. Posiblemente no sea perfecto (estoy abierto para mejoras;)), pero proporciona Java (haciendo feliz mi paquete apache-tomcat) y se registra con el sistema de alternativas. Este paquete virtual simplemente depende de jdk ... puedes encontrarlo aquí: https://github.com/keystep/virtual-java-rpm


El problema es que los RPM de Oracle son (intencionalmente IMO!) Ignorantes del sistema de "alternativas".

En su lugar, instalan cosas en un lugar no estándar (/ usr / java) y luego esperan que el usuario / administrador del sistema se meta con la variable PATH ... a mano.

Es una molestia!

Entonces, lo que probablemente ha sucedido en su caso es que su JDK / JRE se ha instalado en un subdirectorio de / usr / java ... pero como no ha agregado el subdirectorio bin correspondiente al frente de su PATH , aún está retomando las herramientas OpenJDK a través del nombre del comando java .

Puede solucionar esto después del hecho utilizando "alternativas" para configurar y luego seleccionar los comandos de Oracle. Pero es complicado, especialmente si también quieres las herramientas JDK. (¡Hay muchos de ellos!)

Si usa Chef, otro enfoque es usar el libro de cocina "java" para hacer la instalación.


Intenta con el siguiente método

eliminar la carpeta OpenJDK de

/usr/lib/jvm

Tuve el mismo problema y obtuve una solución a través de este método