Java es uno de los lenguajes de programación más populares utilizados para construir diferentes tipos de aplicaciones y sistemas.
Hay dos implementaciones diferentes de Java, OpenJDK y Oracle Java, casi sin diferencias entre ellas, excepto que Oracle Java tiene algunas características comerciales adicionales. Oracle Java License permite únicamente el uso no comercial del software, como el uso personal y el uso para desarrollo. OpenJDK es una implementación de código abierto de la plataforma Java.
Los repositorios predeterminados de CentOS 8 incluyen las dos últimas versiones principales de Java LTS, Java 8 y Java 11.
En este tutorial, explicaremos cómo instalar una o más versiones de Java (OpenJDK) en CentOS 8 y cómo configurar el Java predeterminado a través de alternativas.
Instalando OpenJDK 11 #
La recomendación general es instalar la última versión de Java LTS (JDK 11). Algunas aplicaciones basadas en Java pueden requerir una versión específica de Java, por lo que es posible que deba consultar la documentación de la aplicación.
Para instalar OpenJDK 11 en CentOS 8, ejecute el siguiente comando como root o usuario con privilegios sudo:
sudo dnf install java-11-openjdk-devel
Una vez completada la instalación, puede verificarla comprobando la versión de Java:
java -version
La salida debería verse así:
openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
¡Eso es todo! Ha instalado Java con éxito en su sistema CentOS 8.
CentOS 8 también es compatible con una versión sin interfaz de OpenJDK que proporciona un tiempo de ejecución de Java mínimo necesario para ejecutar aplicaciones sin una interfaz gráfica de usuario (sin compatibilidad con teclado, mouse y sistemas de visualización). Esta versión es más adecuada para aplicaciones de servidor ya que tiene menos dependencias y utiliza menos recursos del sistema.
Para instalar solo OpenJDK 11 sin interfaz gráfica, escriba:
sudo dnf install java-11-openjdk-headless
Si ya instaló java-11-openjdk-devel
, el paquete headless se instalará como una dependencia.
Instalando OpenJDK 8 #
Java 8, la versión anterior de Java LTS, todavía es compatible y se usa ampliamente. Si su aplicación requiere Java 8, puede instalarlo escribiendo el siguiente comando:
sudo dnf install java-1.8.0-openjdk-devel
Verifique la instalación comprobando la versión de Java:
java -version
La salida debería verse así:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
Para un tiempo de ejecución mínimo de Java, instale java-1.8.0-openjdk-headless
paquete.
Configuración de la versión predeterminada de Java #
Si instaló varias versiones de Java en su sistema CentOS, puede usar el sistema de alternativas para establecer qué versión de Java se usará cuando escriba java
en la terminal.
Para comprobar qué versión de Java está configurada como predeterminada, escriba:
java -version
Si desea cambiar la versión predeterminada, use las alternatives
comando:
sudo alternatives --config java
La salida se verá como a continuación:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)
*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number:
Se imprimirá en la pantalla una lista de todas las versiones de Java instaladas. Ingrese el número de la versión que desea usar como predeterminada y presione Enter
.
También es posible que desee cambiar el javac
predeterminado versión:
sudo alternatives --config java
javac
es una utilidad de comando para compilar programas Java.
Configurando JAVA_HOME
Variable de entorno #
El JAVA_HOME
Algunas aplicaciones de Java utilizan la variable de entorno para determinar la ubicación de instalación de Java y especificar qué versión de Java se debe usar para ejecutar la aplicación.
Para establecer el JAVA_HOME
variable por usuario, agréguela a ~/.bashrc
o cualquier otro archivo de configuración que se carga cuando el usuario inicia sesión. Para una configuración de todo el sistema, use un script dentro de /etc/profile.d
directorio.
Suponiendo que desea configurar JAVA_HOME
a OpenJDK 8 agregue la siguiente línea, al final del archivo:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
Para que los cambios surtan efecto en su shell actual, puede cerrar sesión e iniciar sesión o usar el source
comando:
source /etc/profile.d/java.sh
Verifique que JAVA_HOME
la variable de entorno se configuró correctamente:
echo $JAVA_HOME
El resultado debe mostrar la ruta a la instalación de Java:
/usr/lib/jvm/java-1.8.0-openjdk
También puede configurar el JAVA_HOME
en la configuración de la aplicación, el archivo de la unidad systemd o en la línea de comando al iniciar el programa.
Por ejemplo, para ejecutar Maven usando Java 8, escribiría:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre
...