Cómo instalar Java en Debian 12, diferencias entre OpenJDK y OpenJRE

Published:

Java, un lenguaje de programación versátil y potente, es una herramienta esencial para desarrolladores y usuarios. Permite la creación de aplicaciones robustas, se ejecuta en múltiples plataformas y juega un papel crucial en el funcionamiento de muchos sistemas de software modernos.

Esta guía lo guiará a través del proceso paso a paso para instalar Java en Debian 12, pero me pareció interesante saber la diferencia entre las OpenJDK y OpenJRE.

Diferencias entre OpenJDK y OpenJRE

OpenJDK y OpenJRE si bien están relacionados, lo cierto es que son componentes de software distintos que se utilizan en el entorno de desarrollo y ejecución de Java.

  1. OpenJDK es una implementación de plataforma Java SE (Standard Edition) de código abierto. Incluye un kit de desarrollo de Java (JDK), que proporciona herramientas para desarrollar y compilar aplicaciones de Java, y un entorno de tiempo de ejecución de Java (JRE), que es necesario para ejecutar aplicaciones de Java en la computadora de un usuario.
  2. OpenJRE es un entorno de tiempo de ejecución para aplicaciones Java. Incluye la máquina virtual de Java (JVM), el motor que ejecuta el código de Java y las bibliotecas de clases de Java, que proporcionan la funcionalidad principal de la plataforma de Java. OpenJRE no incluye las herramientas de desarrollo ni los compiladores que forman parte del JDK.

En resumen, OpenJDK es un entorno completo de desarrollo y tiempo de ejecución de Java, mientras que OpenJRE es solo un entorno de tiempo de ejecución. El componente JDK de OpenJDK incluye el componente JRE pero no al revés.

Por lo tanto, si estás desarrollando aplicaciones en Java, necesitarás OpenJDK, mientras que si solo necesitas ejecutar aplicaciones basadas en Java, OpenJRE es suficiente.

Instalar Java en Debian 12

Aunque Java 11 LTS es ahora la versión más utilizada, seguida de cerca por Java 8 LTS, mirando hacia el futuro y  siguiendo las instrucciones de Oracle, Java 17 LTS es el camino a seguir. Afortunadamente, esta es precisamente la versión disponible en los repositorios de Debian 12.

Tenemos varias opciones, teniendo en cuenta lo dicho anteriormente, pero antes te recomiendo que veas si existe una versión de java en tu sistema.

java

1- Default

Al instalar el paquete » default-jdk «, se obtiene OpenJDK 17 y OpenJRE 17 instalados en su sistema simultáneamente.

sudo apt install default-jdk

2- Si solo queremos instalar OpenJDK

sudo apt install openjdk-17-jdk
sudo apt install openjdk-17-jre

4- Verificar la instalación

java -version

Establecer variable de entorno JAVA_HOME

Varias aplicaciones, como entornos de desarrollo y herramientas de compilación, utilizan la  variable para ubicar los archivos binarios y las bibliotecas de Java usando JAVA_HOME.

Cuando  JAVA_HOME está configurado, el sistema sabe dónde buscar el JDK y puede usarlo para ejecutar aplicaciones Java o compilar código Java. Por lo tanto, editamos el archivo » /etc/environment » con el editor de texto del terminal que está utilizando:

sudo nano /etc/environment

Luego, agregamos la línea:

JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"

Hay que aplicar los cambios y verificar que todo esté correcto ejecutando los dos comandos a continuación.

source /etc/environment
echo $JAVA_HOME

El resultado del comando  echo  debería traer el contenido de la variable  JAVA_HOME que está configurada correctamente. Otra comprobación sería ejecutar ls de la variable y deberíamos ver el path de donde esta java instalado.

ls -l $JAVA_HOME

Desinstalar Java en Debian 12

Si desea eliminar Java de su sistema Debian 12 por cualquier motivo, primero vamos a buscar todos los paquetes de Java instalados localmente.

sudo dpkg -l | grep 'jdk\|jre'

Y pasamos el resultado a «apt purge» para que elimine todo

sudo apt purge default-jdk default-jdk-headless default-jre default-jre-headless openjdk-17-jdk openjdk-17-jdk-headless openjdk-17-jre openjdk-17-jre-headless

Quitamos cualquier dependencia restante.

sudo apt autoremove --purge

Y removemos la variable de entorno.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles