Java y la JVM (máquina virtual de Java) son necesarios para muchos tipos de software, incluidos Tomcat, Jetty, Glassfish, Cassandra y Jenkins.
En esta guía vamos a explorar cómo instalar Java Runtime Environment (JRE) y Java Developer Kit (JDK) en Debian 11.
Compruebe también:
- Cómo instalar Java 17 en Ubuntu 20.04
- Cómo instalar Java 17 en Fedora 35
- Cómo instalar Java 17 en Rocky Linux 8/Centos 8
- Instalación y configuración de Jenkins en Ubuntu 20.04
Requisitos
- Sistema Debian 11 actualizado
- Acceso raíz o usuario con acceso sudo
- Acceso a Internet desde el servidor
Tabla de contenido
- Asegurarse de que el servidor esté actualizado
- Instalando Java
- Probando la instalación
- Alternar varias versiones de Java
- Configuración de la variable ambiental
Asegurarse de que el servidor esté actualizado
Antes de continuar, asegurémonos de que los paquetes y repositorios del servidor estén actualizados. Usa estos comandos para lograr el objetivo:
sudo apt update
sudo apt -y upgrade
Si hay paquetes para actualizar, el comando anterior puede tardar un par de minutos.
Instalemos también algunos paquetes comunes que podríamos necesitar. Uso el editor de texto vim, asegúrese de que esté instalado usando este comando:
sudo apt install -y vim
Instalación de Java
Compruebe si Java está instalado en su sistema.
$ java -version
-bash: java: command not found
Si ve java: command not found
entonces significa que Java no está instalado. Si Java está instalado, ese comando imprimirá la versión de Java
El repositorio predeterminado de Debian 11 incluía Java 17. Esta es la forma más fácil de instalar el JDK usando el administrador de paquetes apt.
Puede buscar java usando este comando:
sudo apt-cache search openjdk | grep 17
Ejecute el siguiente comando para instalar Java 17 en Debian 11. Instalaremos JDK y JRE para ejecutar aplicaciones y applets de Java.
sudo apt install openjdk-17-jdk openjdk-17-jre -y
Una vez completada la instalación, ejecute el siguiente comando para verificar si funciona correctamente. Si todo funciona bien, debería obtener un resultado similar al que se muestra a continuación.
$ java -version openjdk version "17-ea" 2021-09-14 OpenJDK Runtime Environment (build 17-ea+19-Debian-1) OpenJDK 64-Bit Server VM (build 17-ea+19-Debian-1, mixed mode, sharing)
Para verificar si el JDK está instalado correctamente, comprobaremos la versión de javac, que es el compilador de Java.
$ javac -version javac 17-ea
Probando la instalación
Probemos que Java 17 está instalado correctamente en este paso mediante la creación de un script simple que imprima Java is installed properly
.
Cree el directorio y cambie a él
mkdir simple-app
cd simple-app
Uso vim para crear y editar archivos de texto en mi sistema. Utilice el editor de texto de su elección en este paso. Crearé un archivo Simple.java
usando este comando:
sudo vim Simple.java
Agregue este contenido al archivo
public class Simple{
public static void main(String[] args) {
System.out.println("Citizix - Java is installed properly");
}
}
Ahora que hemos creado nuestro programa, necesitamos compilar el código fuente de Java en bytecode (archivo de clase) usando el compilador javac.
javac Simple.java
Obtendrá un nuevo archivo llamado Simple.class
, que es el archivo de clase Java compilado.
$ ls
Simple.class Simple.java
El comando anterior solo compilará el código fuente de Java en bytecode. Para ejecutar el programa, ejecutamos el comando java con el nombre de nuestro archivo de clase como argumento.
java Simple
Si todo funciona bien, verá un mensaje "Citizix - Java is installed properly
” en la pantalla.
$ java Simple
Citizix - Java is installed properly
Alternar varias versiones de Java
Si tiene varias versiones de Java instaladas en su sistema, puede configurar qué versión java
el comando predeterminado es.
Use este comando para configurar eso
sudo update-alternatives --config java
Se le dará una lista de las instalaciones de Java disponibles. En este caso, tengo instalados Java 11 y Java 17. La versión predeterminada está marcada con un asterisco (*). Puede optar por usar una versión diferente ingresando el número en el aviso.
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode
En lo anterior, ingresé 1 en el aviso para elegir Java 11. Confirmemos la versión de Java ahora:
$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
Configuración de la variable ambiental
Algunas aplicaciones Java requieren la variable ambiental JAVA_HOME para funcionar correctamente. Algunos programas son muy específicos en la forma en que se ejecutan. Si JAVA_HOME no está configurado, obtendrá un error. Establecer JAVA_HOME evitará que surja este problema.
Para verificar qué instalaciones y rutas de Java existen, use este comando:
sudo update-alternatives --config java
En mi caso, obtengo que la ruta binaria de instalación de Java sea esta /usr/lib/jvm/java-17-openjdk-amd64/bin/java
Vamos a establecer esta ruta en un archivo de entorno /etc/environment
donde todas las aplicaciones pueden acceder.
Abra el archivo con vim:
sudo vim /etc/environment
Ahora necesitamos agregar una línea que exporte el inicio de Java al archivo como este export JAVA_HOME=...
haciendo que el valor sea la ruta que obtuvimos para nuestra instalación de Java:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/bin/java
Este archivo establecerá la ruta JAVA_HOME de OpenJDK 17 como variables ambientales para todos los usuarios del sistema.
Para aplicar el cambio, ejecute el siguiente comando.
source /etc/environment
Para verificar que se ha aplicado la variable de ruta, ejecute el siguiente comando.
echo $JAVA_HOME
La ruta debe establecerse en la ruta de OpenJDK 17, que ha copiado anteriormente. Este es el valor en mi caso:
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
De ahora en adelante, no tiene que configurar la ruta JAVA_HOME cada vez que use programas Java. Además, si desea utilizar otras versiones de OpenJDK en lugar de la 17, adapte la ruta en consecuencia.
Conclusión
En este tutorial, ha aprendido a instalar Java 17 en un sistema Debian 11. Si necesita más información sobre el lenguaje Java, consulte su documentación oficial.