Cómo instalar Java OpenJDK/OracleJDK en AlmaLinux 9
Java es un lenguaje de programación basado en clases y orientado a objetos creado por Sun Microsystem en 1995. Java es un lenguaje de programación de alto nivel diseñado para ser portátil y tener el menor número posible de dependencias para ejecutarse en cualquier sistema.
El propósito general del lenguaje de programación Java es permitir a los desarrolladores escribir programas o aplicaciones una sola vez, pero la aplicación en sí puede ejecutarse en cualquier sistema a través de múltiples sistemas operativos.
En esta guía, te mostraré cómo Instalar Java OpenJDK o/y Java Oracle JDK en el servidor AlmaLinux 9. Además, repasaremos la configuración de la variable de entorno JAVA_HOME y cómo configurar la versión de Java por defecto.
Requisitos previos
Para continuar con esta guía, asegúrate de que tienes lo siguiente:
- Un servidor AlmaLinux 9 – Esta demo utiliza AlmaLinux 9 con el nombre de host almalinux9-server.
- Un usuario no root con privilegios de administrador sudo/root.
Introducción
Antes de empezar, debes decidir qué versión de Java quieres utilizar. Hay dos versiones de Java que debes conocer:
- JavaOracle JDK: La implementación de Java SE (Standard Edition) de Sun MicroSystems que es adquirida por Oracle en 2009 y se convierte en Oracle Java u Oracle JDK.
- JavaOpenJDK: Una versión de código abierto de Oracle JDK y tiene la misma base de código. El principal contribuyente a OpenJDK es Oracle y la Comunidad Java abierta.
A continuación se indican algunas diferencias clave entre Oracle JDK y OpenJDK:
- Licencia: Oracle JDK tiene una licencia comercial para obtener actualizaciones del software, mientras que OpenJDK es totalmente de código abierto con actualizaciones de 6 meses.
- Funciones: Oracle JDK viene con más características, lo que se utiliza para la licencia comercial.
- Rendimiento: Existe un gran debate sobre el rendimiento. El JDK de Oracle tiene mejor rendimiento, pero el rendimiento del OpenJDK sigue mejorando a un ritmo rápido.
A continuación, ¿qué son JDK y JRE?
- JRE o Java Runtime Environment proporciona todo lo que necesitas para ejecutar aplicaciones Java compiladas, pero no se puede utilizar para crear o compilar aplicaciones Java.
- JDK o Kit de Desarrollo Java proporciona herramientas completas tanto para ejecutar como para escribir aplicaciones Java. El JDK incluye paquetes JRE, pero también herramientas adicionales como javac, jdb, jshell, etc.
Instalación del OpenJDK de Java
Por defecto, el repositorio AlmaLinux proporciona varias versiones de Java OpenJDK, incluyendo OpenJDK v11 y v17. Puedes instalar ambas versiones de Java OpenJDK utilizando el gestor de paquetes DNF.
Instalar Java OpenJDK 11
Para instalar Java OpenJDK 11, ejecuta el siguiente comando dnf. Cuando se te solicite, introduce y para confirmar y pulsa INTRO.
sudo dnf install java-11-openjdk java-11-openjdk-devel
Una vez finalizada la instalación de Java, introduce el siguiente comando para verificar la versión de Java.
java --version
Deberías esperar una salida como ésta
Instalación de Java OpenJDK 17
En el momento de escribir esto, la última versión de Java OpenJDK en el repositorio de AppStream es la v17. Ejecuta el siguiente comando dnf para instalar Java OpenJDK 17.
sudo dnf install java-17-openjdk java-17-openjdk-devel
Introduce y para confirmar la instalación y pulsa INTRO.
Una vez instalado Java, ejecuta el siguiente comando para verificar la versión de Java.
java --version
La siguiente salida muestra que Java OpenJDK 17 está instalado.
Instalación de Java Oracle JDK
Si decides instalar y utilizar Java Oracle JDK, sigue los siguientes pasos.
En primer lugar, ejecuta el siguiente comando para instalar curl en tu sistema.
sudo dnf install curl -y
En este momento, Oracle proporciona dos versiones de Java Oracle JDK. En este ejemplo, aprenderás a instalar Java Oracle JDK 17, que es la última versión LTS (Long Term Supports), y Java Oracle JDK 20, la última versión de Java.
Puedes instalar Oracle JDK mediante tar.gz o utilizando el paquete RPM para las distribuciones basadas en RedHat, o el paquete DEB para las distribuciones basadas en Debian.
Instalación de Java Oracle JDK 17
Ejecuta el siguiente comando curl para descargar el paquete RPM de Java Oracle JDK 17.
curl -qO https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
Una vez finalizado el proceso de descarga, instala el archivo RPM de Java Oracle JDK 17 utilizando el siguiente comando.
sudo rpm -ivh jdk-17_linux-x64_bin.rpm
Una vez finalizada la instalación, comprueba la versión de Java utilizando el siguiente comando.
java --version
Verás que el entorno de ejecución Java SE (JRE) 17 está instalado en tu sistema.
Instalación de Java Oracle JDK 20
En el momento de escribir esto, la última versión de Oracle JDK es la v20. Descarga el archivo RPM de la misma utilizando el comando curl que aparece a continuación.
curl -qO https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.rpm
Después, instala el Java Oracle JDK 20 utilizando el siguiente comando rpm.
sudo rpm -ivh jdk-20_linux-x64_bin.rpm
Una vez instalado el JDK de Oracle, ejecuta el siguiente comando para verificar la versión de Java.
java --version
Verás que se ha instalado Java SE Runtime Environment (JRE) 20.
Configurar la versión de Java por defecto
Con las múltiples versiones de Java instaladas en tu sistema, debes seleccionar la versión de Java por defecto que quieres utilizar para ejecutar tus aplicaciones. Y la forma recomendada de hacerlo es utilizando el comando ‘alternativas’ en tu sistema AlmaLinux.
Introduce el siguiente comando para obtener la lista de alternativas en tu sistema.
sudo alternatives --list
Si tienes varias versiones de Java, deberías obtener una salida similar a ésta:
Ahora ejecuta el siguiente comando para establecer la versión de Java por defecto. Introduce el número de la versión de Java que prefieras y pulsa INTRO para confirmar.
sudo alternatives --config java
En el siguiente ejemplo, utilizaremos Java OpenJDK 17, que es el número 1.
A continuación, ejecuta el siguiente comando para verificar la versión de Java. Y si tienes éxito, la versión por defecto de Java se cambia a OpenJDK 17.
java --version
Es posible que también tengas que cambiar la versión por defecto de las herramientas javac de forma similar, utilizando el comando alternativas, seleccionando la versión por defecto de javac y, a continuación, verificando la versión de javac.
sudo alternatives --config javac javac --version
Por último, si vas a utilizar Java OpenJDK, también puedes considerar configurar el JDK y el JRE por defecto utilizando el siguiente comando.
sudo alternatives --config jre_openjdk sudo alternatives --config java_sdk_openjdk
Abajo está la captura de pantalla al cambiar el JRE por defecto.
Abajo está la captura de pantalla al cambiar el JDK por defecto.
Configurar la variable de entorno JAVA_HOME
Cuando esperas utilizar terceras aplicaciones como Apache Tomcat y Gradle, entonces debes configurar la variable de entorno JAVA_HOME por defecto en tu servidor AlmaLinux.
Puedes configurar la variable de entorno JAVA_HOME como una configuración para todo el sistema o por usuario.
Configurar JAVA_HOME en todo el sistema
Para utilizar JAVA_HOME en todo el sistema, puedes utilizar la configuración del perfil bash en el directorio /etc/profile.d/, que se cargará automáticamente al iniciar sesión.
Crea un nuevo script /etc/profile.d/java.sh utilizando el comando del editor nano que aparece a continuación.
sudo nano /etc/profile.d/java.sh
Introduce la siguiente configuración. En este ejemplo, configuraremos JAVA_HOME con Java OpenJDK 17.
JAVA_HOME="/usr/lib/jvm/java-17-openjdk"
Guarda y sal del editor cuando hayas terminado.
Ahora ejecuta el siguiente comando para hacer ejecutable el script /etc/profile.d/java.sh y cargarlo en tu sesión actual.
sudo chmod +x /etc/profile.d/java.sh source /etc/profile.d/java.sh
Verifica la variable de entorno JAVA_HOME mediante el siguiente comando. Si la operación se ha realizado correctamente, deberías ver que la variable de entorno JAVA_HOME apunta a tu directorio OpenJDK por defecto.
echo $JAVA_HOME
Configurar JAVA_HOME por usuario
Si quieres configurar JAVA_HOME por usuario, puedes utilizar el script ~/.bashrc que se cargará automáticamente al iniciar sesión.
Inicia sesión con tu usuario utilizando el siguiente comando.
su - username
Edita el archivo ~/.bashrc utilizando el siguiente comando del editor nano.
nano ~/.bashrc
Añade la siguiente configuración al final de la línea.
JAVA_HOME="/usr/lib/jvm/java-17-openjdk"
Guarda los cambios y sal del editor cuando hayas terminado.
Ahora vuelve a cargar el archivo ~/.bashrc para aplicar los cambios y, a continuación, comprueba la variable de entorno JAVA_HOME utilizando el comando siguiente.
source ~/.bashrc echo $JAVA_HOME
Si la operación se ha realizado correctamente, deberías obtener una salida como ésta:
Conclusión
¡Ya está todo listo! Has completado la instalación de Java OpenJDK y/o Java Oracle JDK en el sistema AlmaLinux 9. También has configurado la versión de Java por defecto mediante el comando alternatives y has configurado la variable de entorno JAVA_HOME tanto para todo el sistema como para cada usuario. Ahora puedes utilizarlo para desarrollar tus proyectos de aplicaciones Java o desplegar aplicaciones Java en tu sistema.