Instalar Java 17 en Debian 13 y Debian 12

Publicado el Actualizado el 6 min de lectura

Debian 12 incluye OpenJDK 17, Debian 13 ya no. Así instalas Java 17 en ambas versiones, con apt o desde el repositorio de Adoptium con Eclipse Temurin.

¿Quieres instalar Java 17 en tu servidor Debian? Un apunte previo: que baste con un simple apt install depende de tu versión de Debian. Debian 12 (Bookworm) incluye OpenJDK 17, Debian 13 (Trixie) ya no. Esta guía muestra el camino adecuado para ambos casos.

Requisitos

Necesitas acceso SSH con permisos de root (o un usuario con permisos de sudo) en un Debian actual. Se recomiendan Debian 13 "Trixie" y Debian 12 "Bookworm". Debian 10 llegó al final de su soporte en junio de 2024 y ya no recibe actualizaciones de seguridad regulares, así que no es adecuado para un uso en producción.

Este comando te muestra qué versión de Debian estás ejecutando:

cat /etc/os-release

A continuación, actualiza la lista de paquetes e instala las actualizaciones pendientes:

apt update && apt upgrade -y

¿Qué versión de Java incluye cada Debian?

Debian renueva las versiones de OpenJDK incluidas con cada nueva versión principal. Por eso, una guía que recomienda sin más apt install openjdk-17-jre-headless falla en Debian 13. Esta tabla muestra lo que hay realmente en los repositorios oficiales (situación a julio de 2026):

PaqueteDebian 13Debian 12Debian 11
openjdk-8-jre-headlessno incluidono incluidono incluido
openjdk-11-jre-headlessno incluidono incluido11.0.31
openjdk-17-jre-headlessno incluido17.0.1917.0.19
openjdk-21-jre-headless21.0.11no incluidono incluido
openjdk-25-jre-headless25.0.3no incluidono incluido

Puedes comprobar en cualquier momento si un paquete está disponible en tu sistema:

apt-cache policy openjdk-17-jre-headless

Si junto a "Candidato" aparece un número de versión, puedes instalarlo directamente. Si ahí pone (ninguno), usa la vía de Temurin que se explica más abajo.

Instalar Java 17 en Debian 12

En Debian 12 (y también en Debian 11) OpenJDK 17 está en el repositorio oficial. Basta con un único comando:

apt install openjdk-17-jre-headless -y

La variante jre-headless contiene solo el entorno de ejecución, sin bibliotecas gráficas, y es por tanto la opción ligera y adecuada para un servidor, por ejemplo para un servidor de Minecraft o una aplicación web en Java.

Si además necesitas un compilador porque compilas aplicaciones Java en el propio servidor, instala el JDK completo:

apt install openjdk-17-jdk -y

Instalar Java 17 en Debian 13 desde el repositorio de Adoptium

Debian 13 ya no incluye OpenJDK 17: allí la versión que viene de serie es Java 21. Si tu aplicación necesita expresamente Java 17, instala Eclipse Temurin. Se trata de una compilación libre de OpenJDK que se distribuye a través de su propio repositorio y que después se actualiza con apt como cualquier otro paquete.

Instala primero los paquetes auxiliares y crea el directorio para las claves de repositorio:

apt install -y wget gpg apt-transport-https ca-certificates

mkdir -p /etc/apt/keyrings

Después descarga la clave de firma y añade la fuente de paquetes. La línea de sources apunta expresamente a esa única clave mediante signed-by=, de modo que solo es válida para este repositorio:

wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc

echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list

apt update

A continuación instala Java 17:

apt install temurin-17-jre -y

Si aquí también necesitas un compilador, instala en su lugar temurin-17-jdk. El repositorio de Adoptium ofrece para Debian 13 las versiones 8 a 26, así que no dependes de lo que traiga tu distribución. Para Debian 12 está disponible esa misma fuente de paquetes.

Alternativa: usar la versión estándar de Debian

Si tu aplicación no exige una versión concreta de Java, sino simplemente un Java actual, el metapaquete es la vía más cómoda. Instala automáticamente la versión que tu distribución define como estándar:

apt install default-jre-headless -y

Según la versión de Debian, obtienes este Java:

DistribuciónVersión de Java mediante default-jre-headless
Debian 13Java 21
Debian 12Java 17
Debian 11Java 11

En Debian 12 obtienes por tanto exactamente el Java 17 que buscas, sin tener que mantener el número de versión dentro del nombre del paquete.

Comprobar la instalación

Para terminar, comprueba si la instalación ha funcionado. Basta con consultar la versión de Java instalada:

java -version

Si la salida empieza por openjdk version "17, Java 17 está correctamente configurado y listo para usar.

Gestionar varias versiones de Java en paralelo

Si en el servidor hay varios JDK instalados, el sistema de alternatives decide qué versión arranca realmente cuando ejecutas java. Puedes listar así todas las versiones disponibles:

update-alternatives --list java

Después eliges de forma interactiva la versión estándar que quieres de esa lista:

update-alternatives --config java

Si una aplicación necesita además la variable de entorno JAVA_HOME, toma la ruta de esa lista y añádela de forma permanente en /etc/environment:

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

¿Sigues con Debian 11?

Debian 11 "Bullseye" ya solo recibe actualizaciones de seguridad LTS limitadas, pero sigue incluyendo OpenJDK 17. El comando es el mismo que en Debian 12:

apt install openjdk-17-jre-headless -y

Aun así, planifica una actualización a medio plazo para volver a recibir actualizaciones de seguridad regulares para todos los paquetes.

Errores frecuentes y soluciones

"Unable to locate package openjdk-17-jre-headless" en Debian 13: No es un fallo de tu instalación. Debian 13 simplemente ya no contiene ese paquete. Instala allí Java 17 a través del repositorio de Adoptium o cambia al Java 21 que viene incluido.

El mismo mensaje en Debian 12: En este caso, la lista local de paquetes está desactualizada o incompleta. Ejecuta apt update y comprueba en /etc/apt/sources.list que esté indicada la fuente principal de tu versión de Debian.

java -version muestra otra versión: En el sistema sigue habiendo una instalación de Java más antigua registrada como estándar. Establece la versión que quieres con update-alternatives --config java.

Guías que usan apt-key: Los artículos más antiguos añaden fuentes externas con apt-key adv. Ese comando está en desuso desde Debian 11, porque una clave registrada de ese modo pasa a ser válida para todas las fuentes de paquetes del sistema. Las guías actuales colocan la clave en /etc/apt/keyrings/ y la referencian desde la línea de sources mediante signed-by=.

Tu aplicación no arranca a pesar de tener Java 17: Algunos programas comprueban la versión de Java al iniciarse y exigen una versión principal concreta. En ese caso, echa un vistazo al archivo de log de la aplicación: ahí suele constar la versión exacta que se requiere.

Preguntas frecuentes

¿Con qué comando instalo Java 17 en Debian?
Depende de tu versión de Debian. Debian 12 y Debian 11 incluyen el paquete, ahí basta con apt install openjdk-17-jre-headless -y. Debian 13 ya no trae OpenJDK 17, así que ahí instalas Eclipse Temurin desde el repositorio de Adoptium.
¿Por qué Debian 13 muestra Unable to locate package openjdk-17-jre-headless?
Porque ese paquete ya no existe en Debian 13. Debian 13 incluye OpenJDK 21 y OpenJDK 25, pero no OpenJDK 17. Instala allí Java 17 desde el repositorio de Adoptium con el paquete temurin-17-jre o cambia a la versión que viene incluida.
¿Qué versión de Java obtengo con default-jre-headless?
El metapaquete se resuelve a la versión estándar de tu distribución: en Debian 13 obtienes Java 21, en Debian 12 Java 17 y en Debian 11 Java 11. Si tu aplicación no exige una versión principal concreta, esta es la vía con menos mantenimiento.
¿Cuál es la diferencia entre openjdk-17-jre-headless y openjdk-17-jdk?
El paquete jre-headless contiene solo el entorno de ejecución, sin bibliotecas gráficas, y basta para ejecutar aplicaciones Java en un servidor. El JDK incluye además el compilador y hace falta cuando compilas programas Java directamente en el servidor.
¿Cómo establezco Java 17 como versión estándar?
Con update-alternatives --list java ves todas las versiones de Java instaladas. Con update-alternatives --config java eliges después de forma interactiva la versión que quieras.

Java 17 OpenJDK Eclipse Temurin Java Debian 13 Debian 12 Debian Instalar Java