En esta entrada veremos cómo instalar Java OpenJDK en Debian 9 Stretch paso a paso, de modo que tengas instalada la máquina de Java para ejecutar aplicaciones desarrolladas en este lenguaje, o incluso desarrollar las tuyas propias, sobre tu servidor o VPS Debian.
Tabla de contenidos
Antes de instalar Java OpenJDK en Debian 9 Stretch
Para seguir esta guía de instalación de Java OpenJDK en Debian 9 necesitas los siguientes requerimientos:
- Una máquina Debian 9 Stretch actualizada.
- Acceso a terminal de comandos como root o un usuario con privilegios de sudo.
- Conexión a Internet.
Como seguramente ya cumples estos requisitos, entraremos directamente en materia.
¿Java JRE o Java JDK?
A la hora de instalar Java en Debian 9 Stretch debes tener claro si lo que buscas para tu sistema es un entorno de ejecución (JRE) o un entorno de desarrollo (JDK).
Necesitarás el JRE o entorno de ejecución cuando sólo quieras ejecutar aplicaciones realizadas en Java o que requieren la máquina virtual de Java para parte de sus funcionalidades.
Por el contrario, necesitarás el JDK cuando quieras desarrollar aplicaciones o instalar entornos de desarrollo en Java. El JDK incluye obviamente el JRE, pero también multitud de complementos y librerías para desarrolladores.
Cómo instalar Java OpenJDK en Debian 9
Vamos a instalar Java OpenJDK en Debian 9 Stretch a partir de los repositorios de la distribución. Usaremos la implementación abierta OpenJDK, que ofrece Java 8 en Debian 9.
En primer lugar, actualizaremos la información de los repositorios:
~$ sudo apt update
Si lo que buscas es el JRE, necesitarás el paquete default-jre o el paquete default-jre-headless; la diferencia entre ambos es que el headless no incluye componentes gráficos (como los usados en aplicaciones de escritorio), por lo que suele estar indicado para sistemas Debian 9 de consola o servidores. En caso de duda, instala el paquete completo. Sea cual sea la opción elegida, instalaremos el paquete con apt:
~$ sudo apt install -y default-jre
En cambio, si necesitas el JDK el paquete que estás buscando es default-jdk, o su versión más ligera, default-jdk-headless:
~$ sudo apt install -y default-jdk
¿Java 11 para Debian 9 Stretch?
Es posible instalar Java 11 en Debian 9 Stretch si añadimos el repositorio backports. Si no tenemos este repositorio aún, crearemos su archivo de configuración:
~$ sudo nano /etc/apt/sources.list.d/backports.list
Y añadimos la siguiente línea:
deb http://archive.debian.org/debian stretch-backports main
Guardamos y cerramos el archivo y actualizamos las listas de paquetes:
~$ sudo apt update
Ahora ya podemos instalar el paquete para el JRE o el JDK de Java 11.
Por ejemplo, si queremos el JRE compacto:
~$ sudo apt install -y openjdk-11-jre-headless
O el JRE completo:
~$ sudo apt install -y openjdk-11-jre
Y si lo que necesitamos es el JDK:
~$ sudo apt install -y openjdk-11-jdk
Versión de Java instalada
Si quieres saber qué versión de Java se instala en tu sistema Debian 9 basta con ejecutar el comando java -version
para conocer la revisión exacta:
~$ java -version openjdk version "1.8.0_252" OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~deb9u1-b09) OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
En este caso se trata de la versión 1.8 ó Java 8, una versión muy extendida y compatible.
Si instalaste la versión del repositorio backports:
~$ java -version openjdk version "11.0.6" 2020-01-14 OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1bpo91) OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1bpo91, mixed mode, sharing)
Configurar Java en Debian 9 Stretch
Vamos a configurar Java en Debian 9 Stretch en lo que a la variable JAVA_HOME se refiere, ya que es requerida por muchas aplicaciones.
El instalador del paquete no configura esta variable por defecto, lo puedes comprobar desde consola consultando el valor de JAVA_HOME:
~$ echo $JAVA_HOME ~$
El valor de la ruta que necesitamos para JAVA_HOME se encuentra en el directorio /usr/lib/jvm/:
~$ ls -l /usr/lib/jvm/ total 4 lrwxrwxrwx 1 root root ... default-java -> java-1.8.0-openjdk-amd64 lrwxrwxrwx 1 root root ... java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64 drwxr-xr-x 5 root root ... java-8-openjdk-amd64
Veremos el directorio real de instalación de Java, un enlace a la versión por defecto (en este ejemplo sólo hay una versión de Java) y un segundo enlace, ya que lo que se conoce como Java 8 originariamente era en realidad Java 1.8.
Para hacer esta configuración del entorno extensible al cualquier usuario de Debian 9 Stretch editaremos el archivo /etc/environment:
~$ sudo nano /etc/environment
Y añadiremos una línea con el valor de JAVA_HOME:
... JAVA_HOME="/usr/lib/jvm/default-java/jre"
Guardamos los cambios y cerramos el archivo.
En el siguiente inicio de sesión o del sistema ya estará disponible la variable JAVA_HOME, pero si queremos incorporarla de inmediato a nuestro entorno actual podemos hacerlo con el comando source:
~$ source /etc/environment
Y comprobamos su disponibilidad:
~$ echo $JAVA_HOME /usr/lib/jvm/default-java/jre
Conclusión
Como has podido comprobar, instalar Java OpenJDK en Debian 9 Stretch es muy sencillo en su versión 8, sólo tienes que saber si necesitas el JRE o el JDK, aunque en caso de dudas instalando el JDK incluyes el JRE.
Si tienes dudas, preguntas, sugerencias, etc. puedes dejar un comentario.
Y si este pequeño tutorial de instalación y configuración ha solucionado tus problemas y quieres agradecérmelo, puedes hacerlo dejando 1 $ de propina desde PayPal:
¡Gracias!
Añadido soporte para Java OpenJDK 11 (versión 11.0.6).
Actualizado a la versión 1.8.0_332.
Actualizado a la versión 1.8.0_322 de Java.
Actualizado a la versión 1.8.0_312 de Java.
SOY NOVATO. ¡¡¡GRACIAS!!!. Utilicé esta publicación en Debian Buster y funcionó.
El comando ll no me sirvió; me arrojó orden no encontrada. Utilizando Google, descubrí que tengo algunos problemas con los permisos de usuario (no sé cómo se usan, sólo instalé por defecto).
Usé finalmente el comando ls. Lo demás funcionó todo de maravillas. Muchas gracias.
¡Hola, David! El comando ll es un alias de ls -l muy ampliamente utilizado en Linux, pero si no se activa lógicamente no funciona. Normalmente no suelo usar estos alias en los tutoriales para que no surjan problemas, pero esta vez se me coló, ya que los uso a diario y uno tampoco es una máquina. He modificado el tutorial para que nadie más tenga problemas en el futuro. Gracias por el aviso.