Installare Java 17 su Debian 13 e Debian 12
Debian 12 include OpenJDK 17, Debian 13 non più. Ecco come installare Java 17 su entrambe le versioni, con apt oppure tramite il repository Adoptium con Eclipse Temurin.
Vuoi installare Java 17 sul tuo server Debian? Una premessa importante: se sia sufficiente un semplice apt install dipende dalla versione di Debian che usi. Debian 12 (Bookworm) include OpenJDK 17, Debian 13 (Trixie) invece non più. Questa guida ti mostra la strada giusta per entrambi i casi.
Requisiti
Ti serve un accesso SSH con privilegi di root (oppure un utente con permessi sudo) su un Debian aggiornato. Consigliamo Debian 13 "Trixie" e Debian 12 "Bookworm". Debian 10 ha raggiunto il fine supporto a giugno 2024 e non riceve più aggiornamenti di sicurezza regolari, quindi non è più adatto all'uso in produzione.
Quale versione di Debian gira sul tuo sistema te lo dice questo comando:
cat /etc/os-release
Aggiorna poi l'elenco dei pacchetti e installa gli aggiornamenti disponibili:
apt update && apt upgrade -y
Quale versione di Java include ogni Debian?
Debian sostituisce le versioni di OpenJDK incluse a ogni nuova release principale. Una guida che consiglia genericamente apt install openjdk-17-jre-headless fallisce quindi su Debian 13. Questa panoramica mostra che cosa si trova davvero nei repository ufficiali (situazione a luglio 2026):
| Pacchetto | Debian 13 | Debian 12 | Debian 11 |
|---|---|---|---|
| openjdk-8-jre-headless | non incluso | non incluso | non incluso |
| openjdk-11-jre-headless | non incluso | non incluso | 11.0.31 |
| openjdk-17-jre-headless | non incluso | 17.0.19 | 17.0.19 |
| openjdk-21-jre-headless | 21.0.11 | non incluso | non incluso |
| openjdk-25-jre-headless | 25.0.3 | non incluso | non incluso |
Puoi verificare da solo, in qualsiasi momento, se un pacchetto è disponibile sul tuo sistema:
apt-cache policy openjdk-17-jre-headless
Se accanto a "Candidato" compare un numero di versione, puoi installare subito. Se invece leggi (nessuno), usa la strada con Temurin descritta più avanti.
Installare Java 17 su Debian 12
Su Debian 12 (e allo stesso modo su Debian 11) OpenJDK 17 si trova nel repository ufficiale. Basta un solo comando:
apt install openjdk-17-jre-headless -y
La variante jre-headless contiene solo l'ambiente di esecuzione senza librerie grafiche ed è quindi la scelta leggera e adatta per un server, per esempio per un server Minecraft o un'applicazione web Java.
Se ti serve anche un compilatore, perché compili le applicazioni Java direttamente sul server, installa il JDK completo:
apt install openjdk-17-jdk -y
Installare Java 17 su Debian 13 tramite il repository Adoptium
Debian 13 non contiene più OpenJDK 17, la versione inclusa è Java 21. Se la tua applicazione richiede espressamente Java 17, installa Eclipse Temurin. Si tratta di una build OpenJDK liberamente disponibile, distribuita tramite un repository dedicato e aggiornata poi del tutto normalmente con apt.
Installa prima i pacchetti di supporto e crea la directory per le chiavi dei repository:
apt install -y wget gpg apt-transport-https ca-certificates
mkdir -p /etc/apt/keyrings
Poi scarica la chiave di firma e registra la fonte dei pacchetti. La riga sources rimanda espressamente a questa singola chiave con signed-by=, così la chiave vale esclusivamente per questo repository:
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
Subito dopo installi Java 17:
apt install temurin-17-jre -y
Se anche qui ti serve un compilatore, installa invece temurin-17-jdk. Il repository Adoptium mette a disposizione per Debian 13 le versioni dalla 8 alla 26, quindi non dipendi dalla scelta della tua distribuzione. La stessa fonte dei pacchetti è disponibile anche per Debian 12.
Alternativa: usare la versione predefinita di Debian
Se la tua applicazione non richiede una versione precisa di Java, ma semplicemente un Java aggiornato, il metapacchetto è la via più comoda. Tira dentro automaticamente la versione che la tua distribuzione prevede come predefinita:
apt install default-jre-headless -y
A seconda della versione di Debian ottieni questo Java:
| Distribuzione | Versione Java tramite default-jre-headless |
|---|---|
| Debian 13 | Java 21 |
| Debian 12 | Java 17 |
| Debian 11 | Java 11 |
Su Debian 12 ottieni quindi esattamente il Java 17 desiderato, senza doverti portare dietro il numero di versione nel nome del pacchetto.
Verificare l'installazione
Per concludere, controlla se l'installazione è andata a buon fine. Ti basta interrogare la versione di Java installata:
java -version
Se l'output inizia con openjdk version "17, Java 17 è configurato correttamente ed è pronto all'uso.
Gestire più versioni di Java in parallelo
Se sul server sono installati più JDK, è la gestione delle alternatives a decidere quale versione parte davvero quando richiami java. Tutte le versioni presenti le elenchi così:
update-alternatives --list java
La versione predefinita che vuoi la scegli poi in modo interattivo dall'elenco:
update-alternatives --config java
Se un'applicazione richiede anche la variabile d'ambiente JAVA_HOME, ricava il percorso da questo elenco e inseriscilo in modo permanente in /etc/environment:
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
Sei ancora su Debian 11?
Debian 11 "Bullseye" riceve ormai solo aggiornamenti di sicurezza LTS limitati, ma include ancora OpenJDK 17. Il comando è lo stesso di Debian 12:
apt install openjdk-17-jre-headless -y
Metti comunque in programma un aggiornamento a medio termine, così tornerai a ricevere aggiornamenti di sicurezza regolari per tutti i pacchetti.
Errori frequenti e soluzioni
"Unable to locate package openjdk-17-jre-headless" su Debian 13: non è un errore della tua installazione. Debian 13 semplicemente non contiene più questo pacchetto. Installa lì Java 17 tramite il repository Adoptium oppure passa al Java 21 incluso.
Lo stesso messaggio su Debian 12: qui l'elenco locale dei pacchetti è obsoleto o incompleto. Esegui apt update e controlla in /etc/apt/sources.list che la fonte principale della tua versione di Debian sia registrata.
java -version mostra un'altra versione: sul sistema è ancora impostata come predefinita una vecchia installazione di Java. Imposta la versione desiderata con update-alternatives --config java.
Guide che usano apt-key: gli articoli più vecchi aggiungono le fonti esterne con apt-key adv. Questo comando è considerato deprecato da Debian 11 in poi, perché una chiave registrata così diventa valida per tutte le fonti dei pacchetti del sistema. Le guide aggiornate salvano la chiave in /etc/apt/keyrings/ e la richiamano nella riga sources con signed-by=.
La tua applicazione non parte nonostante Java 17: alcuni software controllano la versione di Java all'avvio e pretendono una versione principale precisa. In questo caso dai un'occhiata al file di log dell'applicazione, di solito lì è indicata la versione richiesta esatta.
Domande frequenti
Con quale comando installo Java 17 su Debian?
Perché Debian 13 segnala Unable to locate package openjdk-17-jre-headless?
Quale versione di Java ottengo con default-jre-headless?
Qual è la differenza tra openjdk-17-jre-headless e openjdk-17-jdk?
Come imposto Java 17 come versione predefinita?
2023-2026 KernelHost GmbH. Tutti i diritti riservati. Questa guida è protetta dal diritto d'autore. La ripubblicazione su altri siti web, anche parziale o in forma modificata, non è consentita senza il nostro consenso scritto. Le citazioni con indicazione della fonte e un link sono le benvenute.

