javaopenjdkinstalar

Instalar OpenJDK en linux

Veamos paso a paso cómo instalar OpenJDK en un sistema operativo linux.

  1. Descargar el instalador:
  1. Descomprimir el binario en la carpeta de destino. Generalmente es en /opt/java:
  • Crea la carpeta java dentro de opt
  • Descomprime el binario
sudo mkdir -p /opt/java
sudo tar xvf openjdk-11*_bin.tar.gz -C /opt/java
  1. Crear las variables de entorno
  • JAVA_HOME: Esta variable la utiliza java para saber dónde se encuentran sus binarios.
export JAVA_HOME=/ruta/destino/versionjava
// en nuestro ejemplo, la ruta sería:
// /opt/java/jdk-11.0.2
// Nota: debes tener cuidado de NO colocar el slash `/` al final.

Puedes confirmar la creación de la variable usando:

echo $JAVA_HOME
// la salida debe ser algo como: /opt/java/jdk-11.0.2
  • PATH: Se debe agregar la carpeta bin de la instalación de java en el PATH para que el shell encuentre los ejecutables de java.
export PATH=$PATH:$JAVA_HOME/bin

Confirma la actualización de PATH usando:

echo $PATH
// la salida debe ser algo como: 
// /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/jdk-11.0.2/bin
// nótese la ruta de los binarios de la instalación de java

Si todo va bien, ya puedes ejecutar java para conocer la versión que se está usando:

java -version
// La salida debe ser algo como:
// openjdk version "11.0.2" 2018-10-16
// OpenJDK Runtime Environment 18.9 (build 11.0.2+7)
// OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+7, mixed mode)
  1. Persistiendo las variables de entorno

El problema que tenemos en este momento es que si cerramos la consola, cuando volvamos a ingresar ya no está la variable $JAVA_HOME y la variable $PATH no apunta a la carpeta bin de la instalación de java. Así que debemos persistir estos cambios para que cada vez que se ingrese a la consola, las variables de entorno estén correctamente configuradas.

Existen diferentes formas de persistir las variables de entorno. Se pueden persistir para un único usuario y también se pueden persistir para todo el sistema. En este último las variables de entorno quedan para todos los usuarios.

4.1. Persistir las variables a un único usuario:
El archivo que debemos modificar para este paso se encuentra en: /home/tu-usuario/.bashrc (cambia tu-usuario por el nombre de usuario al que vas a configurar). En este archivo agregaremos las instrucciones export que vimos en los anteriores pasos.

* Nota: ten cuidado al editar estos archivos, cualquier error al configurarlo y puedes sufrir de comportamientos extraños o que el sistema deje de funcionar.

  • Edita el archivo .bashrc del usuario y al final del mismo agrega lo siguiente:
export JAVA_HOME=/opt/java/jdk-11.0.2
export PATH=$PATH:$JAVA_HOME/bin
  • Ahora cierra la consola y vuelvela a abrir, ya debes tener java funcionando. Puedes confirmarlo así:
java -version
// La salida debe ser algo como:
// openjdk version "11.0.2" 2018-10-16
// OpenJDK Runtime Environment 18.9 (build 11.0.2+7)
// OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+7, mixed mode)

4.2 Persistir las variables a todos los usuarios: Personalmente me gusta más configurar las variables de java a todo el sistema. Con esto no me preocupo por cual usuario ejecuta alguna aplicación.

* Nota: ten cuidado al editar estos archivos, cualquier error al configurarlo y puedes sufrir de comportamientos extraños o que el sistema deje de funcionar.

  • Edita el archivo /etc/environment. En la línea donde se encuentre PATH agrega la dirección absoluta del binario de la instalación de java. Esto es necesario ya que aquí no podemos llamar la variable de entorno $JAVA_HOME. Por lo tanto, la línea path debe quedar algo así (si tu PATH tiene más contenido, no lo vayas a borrar, sólo agrega la ruta de java):
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/java/jdk-11.0.2/bin"
  • Agrega una nueva línea para la variable JAVA_HOME así:
JAVA_HOME="/opt/java/jdk-11.0.2"

En mi caso, el archivo /etc/environment tiene dos líneas, una para PATH y otra para JAVA_HOME.

  • Por último, debes volver a cargar esas variables de entorno para que tomen efecto (o puedes reiniciar el sistema, lo cual es muy aburrido):
source /etc/environment
  • Ahora a divertirnos!
java -version
javaopenjdkinstalar

Sigue leyendo