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
...