Es fácil usar la herramienta de administración de paquetes de su distribución de Linux para instalar los paquetes de software de Java. Sin embargo, a veces es necesario realizar una instalación manual de Java. Esto es de particular importancia para los administradores de servidores de aplicaciones basados en Java como Tomcat o JBoss. Muchos productos de software propietario y de código abierto dependen de estos servicios.
Más sobre Java
- ¿Qué es la programación Java empresarial?
- Compilación Red Hat de OpenJDK
- Hoja de trucos de Java
- Curso en línea gratuito:desarrollo de aplicaciones nativas de la nube con arquitecturas de microservicios
- Artículos de Java actualizados
¿Kit de desarrollador o tiempo de ejecución?
La máquina virtual de Java (JVM) se proporciona en dos formas diferentes:el kit de desarrollo de Java (JDK) o el entorno de tiempo de ejecución de Java (JRE).
Los desarrolladores de software suelen necesitar el JDK. Contiene los archivos binarios necesarios para compilar, ejecutar y probar el código fuente. Para implementar una aplicación Java preconstruida, generalmente solo se requiere el JRE. No incluye los compiladores y otras herramientas de desarrollo. El JRE generalmente se instala en entornos de producción debido a una mayor seguridad y limitaciones de espacio.
Obtener Java
Puede descargar el software Java de código abierto de Internet. Puede encontrar descargas de tarballs de OpenJDK en Red Hat Developer, Adoptium.net o la edición Zulu Community de Azul.
Instalar Java
Configure un directorio para almacenar los archivos Java. Me gusta crear uno llamado simplemente java
para poder descargar y extraer el tarball en un directorio dedicado.
$ mkdir -p java/jdk
Usemos el JDK en este ejemplo. Guarde el archivo descargado en jdk
directorio. Luego cambia a ese directorio:
$ cd java/jdk
$ ls
OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz
Extrae el tarball. Tenga en cuenta que tar
creará un nuevo directorio:
$ tar xvzf OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz
$ ls
jdk-11.0.12+7 OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz
Confirme la versión de la nueva JVM utilizando -version
opción:
$ cd jdk-11.0.12+7/bin
$ ./java -version
La salida de la versión de la JVM se parece a esto:
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)
Variables de entorno
Para garantizar que una aplicación determinada funcione correctamente, necesita saber exactamente cómo ubicar la JVM. Se deben establecer dos variables principales:JAVA_HOME y RUTA :
$ echo $JAVA_HOME
$ echo $PATH
Estos se pueden configurar en el .bashrc
del usuario expediente. Asegúrese de que las variables estén después de cualquier código existente que establezca PATH :
#Set the JAVA_HOME
export JAVA_HOME=~/java/jdk/jdk-11.0.12+7
#Add the JAVA_HOME to the PATH
export PATH="$JAVA_HOME/bin:$PATH"
Situaciones de instalación manual
Diferentes situaciones requieren una instalación manual de Java. Considere los siguientes tres escenarios.
Una situación podría ser un requisito para una versión de Java diferente, quizás más antigua, que no esté disponible en los repositorios de software de su distribución de Linux.
Otro ejemplo podría ser una decisión basada en la seguridad de que Java no se instalará en un sistema operativo de forma predeterminada o en el "nivel raíz".
Una tercera situación podría ser la necesidad de varias versiones diferentes de Java, normalmente porque varias instancias de una aplicación web J2EE se ejecutan en el mismo servidor. Este sistema operativo compartido es menos común hoy en día debido al mayor uso de máquinas virtuales y contenedores para aislar procesos. Sin embargo, la necesidad de mantener diferentes imágenes de contenedores continúa haciendo que la comprensión de la instalación manual sea vital.
Resumir
Demostré cómo me gusta instalar el entorno de tiempo de ejecución de Java, pero no dude en crear una convención que funcione mejor para sus necesidades. En última instancia, la instalación manual brinda al usuario el más alto nivel de control sobre el entorno de tiempo de ejecución de Java.