Installer Java 17 sur Debian 13 et Debian 12

Publié le Mis à jour le 6 min de lecture

Debian 12 fournit OpenJDK 17, Debian 13 non. Voici comment installer Java 17 sur les deux versions, avec apt ou via le dépôt Adoptium et Eclipse Temurin.

Vous souhaitez installer Java 17 sur votre serveur Debian ? Un point important d'abord : le fait qu'un simple apt install suffise dépend de votre version de Debian. Debian 12 (Bookworm) fournit OpenJDK 17, alors que Debian 13 (Trixie) ne le propose plus. Ce guide présente la méthode adaptée à chacun des deux cas.

Prérequis

Vous avez besoin d'un accès SSH avec les droits root (ou d'un utilisateur disposant des droits sudo) sur un Debian récent. Nous recommandons Debian 13 « Trixie » et Debian 12 « Bookworm ». Debian 10 a atteint sa fin de support en juin 2024 et ne reçoit plus de mises à jour de sécurité régulières : ce système ne convient donc plus à un usage en production.

Cette commande vous indique quelle version de Debian tourne sur votre serveur :

cat /etc/os-release

Mettez ensuite à jour la liste des paquets et appliquez les mises à jour disponibles :

apt update && apt upgrade -y

Quelle version de Java pour quelle version de Debian ?

Debian renouvelle les versions d'OpenJDK fournies à chaque nouvelle version majeure. Un tutoriel qui recommande systématiquement apt install openjdk-17-jre-headless échoue donc sur Debian 13. Ce tableau montre ce qui se trouve réellement dans les dépôts officiels (état : juillet 2026) :

PaquetDebian 13Debian 12Debian 11
openjdk-8-jre-headlessnon inclusnon inclusnon inclus
openjdk-11-jre-headlessnon inclusnon inclus11.0.31
openjdk-17-jre-headlessnon inclus17.0.1917.0.19
openjdk-21-jre-headless21.0.11non inclusnon inclus
openjdk-25-jre-headless25.0.3non inclusnon inclus

Vous pouvez vérifier vous-même à tout moment si un paquet est disponible sur votre système :

apt-cache policy openjdk-17-jre-headless

Si un numéro de version s'affiche en face de « Candidat », vous pouvez installer directement. Si vous y lisez (aucun), passez par la méthode Temurin décrite plus bas.

Installer Java 17 sur Debian 12

Sur Debian 12 (comme sur Debian 11), OpenJDK 17 se trouve dans le dépôt officiel. Une seule commande suffit :

apt install openjdk-17-jre-headless -y

La variante jre-headless ne contient que l'environnement d'exécution, sans les bibliothèques graphiques : c'est donc le choix léger et adapté pour un serveur, par exemple pour un serveur Minecraft ou une application web Java.

Si vous avez besoin en plus d'un compilateur parce que vous compilez vos applications Java directement sur le serveur, installez le JDK complet :

apt install openjdk-17-jdk -y

Installer Java 17 sur Debian 13 via le dépôt Adoptium

Debian 13 ne contient plus OpenJDK 17 : la version fournie y est Java 21. Si votre application exige explicitement Java 17, installez Eclipse Temurin. Il s'agit d'un build OpenJDK librement disponible, distribué via son propre dépôt et mis à jour ensuite tout à fait normalement avec apt.

Installez d'abord les paquets utilitaires et créez le répertoire destiné aux clés de dépôt :

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

mkdir -p /etc/apt/keyrings

Téléchargez ensuite la clé de signature et ajoutez le dépôt. La ligne sources renvoie explicitement à cette seule clé grâce à signed-by=, si bien qu'elle ne vaut que pour ce dépôt précis :

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

Installez ensuite Java 17 :

apt install temurin-17-jre -y

Si vous avez besoin d'un compilateur ici aussi, installez plutôt temurin-17-jdk. Pour Debian 13, le dépôt Adoptium met à disposition les versions 8 à 26 : vous ne dépendez donc pas du choix de votre distribution. Ce même dépôt est également disponible pour Debian 12.

Alternative : utiliser la version par défaut de Debian

Si votre application n'exige pas une version précise de Java mais simplement un Java récent, le métapaquet est la solution la plus confortable. Il installe automatiquement la version que votre distribution prévoit par défaut :

apt install default-jre-headless -y

Selon la version de Debian, vous obtenez le Java suivant :

DistributionVersion de Java via default-jre-headless
Debian 13Java 21
Debian 12Java 17
Debian 11Java 11

Sur Debian 12, vous obtenez donc exactement le Java 17 souhaité, sans avoir à gérer vous-même le numéro de version dans le nom du paquet.

Vérifier l'installation

Contrôlez pour finir que l'installation a bien abouti. Il suffit pour cela d'interroger la version de Java installée :

java -version

Si la sortie commence par openjdk version "17, Java 17 est correctement configuré et prêt à l'emploi.

Gérer plusieurs versions de Java en parallèle

Si plusieurs JDK sont installés sur le serveur, c'est le système alternatives qui détermine quelle version démarre réellement lors de l'appel de java. Voici comment lister toutes les versions présentes :

update-alternatives --list java

Vous sélectionnez ensuite la version par défaut souhaitée de façon interactive dans la liste :

update-alternatives --config java

Si une application a besoin en plus de la variable d'environnement JAVA_HOME, relevez le chemin dans cette liste et inscrivez-le durablement dans /etc/environment :

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

Encore sous Debian 11 ?

Debian 11 « Bullseye » ne reçoit plus que des mises à jour de sécurité LTS restreintes, mais contient toujours OpenJDK 17. La commande est la même que sous Debian 12 :

apt install openjdk-17-jre-headless -y

Prévoyez malgré tout une montée de version à moyen terme, afin de retrouver des mises à jour de sécurité régulières pour tous les paquets.

Erreurs fréquentes et solutions

« Unable to locate package openjdk-17-jre-headless » sous Debian 13 : ce n'est pas une erreur de votre installation. Debian 13 ne contient tout simplement plus ce paquet. Installez-y Java 17 via le dépôt Adoptium ou passez au Java 21 fourni d'origine.

Le même message sous Debian 12 : ici, la liste locale des paquets est obsolète ou incomplète. Exécutez apt update et vérifiez dans /etc/apt/sources.list que le dépôt principal de votre version de Debian y figure bien.

java -version annonce une autre version : une installation Java plus ancienne est encore enregistrée comme version par défaut sur le système. Définissez la version souhaitée avec update-alternatives --config java.

Les tutoriels qui utilisent apt-key : les articles plus anciens ajoutent les dépôts tiers via apt-key adv. Cette commande est considérée comme obsolète depuis Debian 11, car une clé enregistrée de cette façon devient valable pour l'ensemble des dépôts du système. Les guides actuels placent la clé dans /etc/apt/keyrings/ et y renvoient dans la ligne sources grâce à signed-by=.

Votre application ne démarre pas malgré Java 17 : certains logiciels vérifient la version de Java au démarrage et exigent une version majeure précise. Dans ce cas, jetez un œil au fichier journal de l'application : la version exactement requise y est généralement indiquée.

Questions fréquentes

Avec quelle commande installer Java 17 sur Debian ?
Cela dépend de votre version de Debian. Debian 12 et Debian 11 contiennent le paquet : il suffit d'y lancer apt install openjdk-17-jre-headless -y. Debian 13 ne fournit plus OpenJDK 17, vous y installez Eclipse Temurin via le dépôt Adoptium.
Pourquoi Debian 13 affiche-t-il Unable to locate package openjdk-17-jre-headless ?
Parce que ce paquet n'existe plus dans Debian 13. Debian 13 fournit OpenJDK 21 et OpenJDK 25, mais pas OpenJDK 17. Installez-y Java 17 via le dépôt Adoptium avec le paquet temurin-17-jre ou passez à la version livrée d'origine.
Quelle version de Java obtient-on avec default-jre-headless ?
Le métapaquet renvoie vers la version par défaut de votre distribution : Debian 13 donne Java 21, Debian 12 donne Java 17 et Debian 11 donne Java 11. Si votre application n'exige pas de version majeure précise, c'est la méthode qui demande le moins de maintenance.
Quelle est la différence entre openjdk-17-jre-headless et openjdk-17-jdk ?
Le paquet jre-headless ne contient que l'environnement d'exécution, sans bibliothèques graphiques, et suffit pour exécuter des applications Java sur un serveur. Le JDK apporte en plus le compilateur : il est nécessaire si vous compilez vos programmes Java directement sur le serveur.
Comment définir Java 17 comme version par défaut ?
La commande update-alternatives --list java affiche toutes les versions de Java installées. Avec update-alternatives --config java, vous sélectionnez ensuite la version souhaitée de façon interactive.

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