Instalar Java 17 en Debian 13 y Debian 12
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):
| Paquete | Debian 13 | Debian 12 | Debian 11 |
|---|---|---|---|
| openjdk-8-jre-headless | no incluido | no incluido | no incluido |
| openjdk-11-jre-headless | no incluido | no incluido | 11.0.31 |
| openjdk-17-jre-headless | no incluido | 17.0.19 | 17.0.19 |
| openjdk-21-jre-headless | 21.0.11 | no incluido | no incluido |
| openjdk-25-jre-headless | 25.0.3 | no incluido | no 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ón | Versión de Java mediante default-jre-headless |
|---|---|
| Debian 13 | Java 21 |
| Debian 12 | Java 17 |
| Debian 11 | Java 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?
¿Por qué Debian 13 muestra Unable to locate package openjdk-17-jre-headless?
¿Qué versión de Java obtengo con default-jre-headless?
¿Cuál es la diferencia entre openjdk-17-jre-headless y openjdk-17-jdk?
¿Cómo establezco Java 17 como versión estándar?
2023-2026 KernelHost GmbH. Todos los derechos reservados. Esta guía está protegida por derechos de autor. Su publicación en otros sitios web, aunque sea de forma parcial o modificada, no está permitida sin nuestro consentimiento por escrito. Las citas con indicación de la fuente y un enlace son muy bienvenidas.

