En ocasiones Oracle obliga a utilizar Oracle JAVA en lugar de otras opciones como Open JDK para sus productos. Por ejemplo, para instalar Oracle Weblogic Server 12c el el instalador no permitía continuar con Open JDK instalado.
Para instalar Oracle Java JDK/JRE en Linux tenemos principalmente dos opciones, instalar a través del RPM oficial (CentOS, RHEL, Fedora, Scientific Linux, SuSe) o manualmente con el archivo binario. La primera opción es mucho más sencilla, pero no nos valdrá en Debian y Ubuntu por ejemplo, así que os voy a enseñar las dos opciones.
Todas las opciones de descarga (rpm, .tar.gz, x86_64, x86…) están en el sitio web de Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/
En esta guía vamos a instalar la versión 8u20 x86.
Instalar Oracle JDK en Linux con RPM
Tan sencillo como descargar el RPM e instalarlo vía yum o con el comando rpm. El «problema» de esta opción es que la instalación viene con directorios preestablecidos y se integra con el sistema. Si queremos personalizar la instalación y mantener varias versiones de JDK o JRE en el sistema probablemente es mejor utilizar la otra opción de instalación.
Instalación del RPM:
# rpm -ivh jdk-8u20-linux-i586.rpm Preparing... ########################### [100%] 1:jdk1.8.0_20 ########################### [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar... plugin.jar... javaws.jar... deploy.jar...
O si lo hacemos por yum:
# yum install jdk-8u20-linux-i586.rpm Loaded plugins: fastestmirror, presto Loading mirror speeds from cached hostfile * base: mirror.tedra.es * extras: mirror.tedra.es * updates: mirror.tedra.es Setting up Install Process Examining jdk-8u20-linux-i586.rpm: 2000:jdk1.8.0_20-1.8.0_20-fcs.i586 Marking jdk-8u20-linux-i586.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package jdk1.8.0_20.i586 2000:1.8.0_20-fcs will be installed --> Finished Dependency Resolution Dependencies Resolved ==================================================================== Package Arch Version Repository Size ==================================================================== Installing: jdk1.8.0_20 i586 2000:1.8.0_20-fcs /jdk-8u20-linux-i586 219 M Transaction Summary ===================================================================== Install 1 Package(s) Total size: 219 M Installed size: 219 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 2000:jdk1.8.0_20-1.8.0_20-fcs.i586 1/1 Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar... plugin.jar... javaws.jar... deploy.jar... Verifying : 2000:jdk1.8.0_20-1.8.0_20-fcs.i586 1/1 Installed: jdk1.8.0_20.i586 2000:1.8.0_20-fcs Complete!
Verificamos que automáticamente la versión de JAVA instalada se ha configurado por defecto en el sistema, se ha añadido en el PATH, etc:
# java -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode, sharing)
Si tenéis otras versiones instaladas y no ha sido actualizado, podéis usar update-alternatives para seleccionar la versión correcta. El PATH donde se instala es:
# /usr/java/jdk1.8.0_20/bin/java -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode, sharing)
Y update alternatives se lanza del siguiente modo, aparecerá un menú para elegir la versión a aplicar por defecto:
# update-alternatives --config java
Instalar Oracle JDK en Linux manualmente
Descargamos Oracle JAVA en archivo binario (jdk-8u20-linux-***.tar.gz) y lo descomprimimos:
$ tar -xzvf jdk-8uversion-linux-i586.tar.gz
El directorio resultante ya es una instalación funcional de JAVA, lo ubicamos donde estimemos oportuno:
# mv jdk1.8.0_20 /opt/pre> Sin más trabajo, ya podemos comenzar a utilizar JAVA:
# /mnt/jdk1.8.0_20/bin/java -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode)
Para añadirlo al sistema y que se configure como versión de java por defecto, se añada en el path, etc usamos el comando «alternatives»:
# alternatives --install /usr/bin/java java /opt/jdk1.8.0_20/bin/java 10000
Vemos como se ha añadido:
# update-alternatives --config java There is 1 program that provides 'java'. Selection Command ----------------------------------------------- *+ 1 /opt/jdk1.8.0_20/bin/java
Y verificamos sin especificar el path que funciona correctamente:
# java -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode)
Como veis, es cuestión de gustos, ambas instalaciones son sencillas, el RPM lo utilizaremos para no complicarnos la vida si no vamos a utilizar más que una versión de JDK/JRE y no vamos a necesitar modificar nada. En cambio con la instalación precompilada podemos bajarnos una buena cantidad de versiones y mantener todas en el sistema como nos plazca.