Installare Java 8 e Java 11 su Debian 13 e Debian 12

Pubblicato il Aggiornato il 5 min di lettura

Debian non contiene né Java 8 né, a partire da Debian 12, Java 11. Ecco come installare comunque entrambe le versioni in modo pulito con apt, tramite il repository Adoptium con Eclipse Temurin.

Vuoi installare Java 8 o Java 11 sul tuo server Debian? Una premessa importante: entrambe le versioni sono sparite dai repository ufficiali di Debian. Né Debian 13 (Trixie) né Debian 12 (Bookworm) contengono openjdk-8 o openjdk-11. Un apt install openjdk-11-jre-headless lì fallisce e basta. La strada affidabile passa per Eclipse Temurin.

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 la fine del supporto a giugno 2024 e non riceve più aggiornamenti di sicurezza regolari.

Quale versione di Debian gira sul tuo sistema lo mostra 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 porta con sé quale Debian?

Questa panoramica mostra che cosa si trova davvero nei repository ufficiali di Debian (situazione a luglio 2026):

PacchettoDebian 13Debian 12Debian 11
openjdk-8-jre-headlessnon inclusonon inclusonon incluso
openjdk-11-jre-headlessnon inclusonon incluso11.0.31
openjdk-17-jre-headlessnon incluso17.0.1917.0.19
openjdk-21-jre-headless21.0.11non inclusonon incluso
openjdk-25-jre-headless25.0.3non inclusonon incluso

Per Java 8 in Debian non esiste quindi più alcun pacchetto, e Java 11 si trova soltanto in Debian 11. Se un pacchetto è disponibile sul tuo sistema puoi verificarlo in ogni momento da solo:

apt-cache policy openjdk-11-jre-headless

Se sotto "Candidato" compare la voce (nessuno), il pacchetto non è presente nella tua versione di Debian.

Di quale versione di Java hai davvero bisogno?

Java 8 e Java 11 sono versioni LTS ormai datate. Il software attuale punta di norma su Java 17 o Java 21, però alcune applicazioni server (per esempio vecchi server Minecraft, plugin o gestionali aziendali cresciuti negli anni) girano ancora soltanto con Java 8 o Java 11. Installa quindi una versione più vecchia solo se la tua applicazione la richiede esplicitamente. Controlla prima nella documentazione se non sia supportata anche una release più recente, perché quest'ultima riceve aggiornamenti di sicurezza molto più a lungo.

Installare Java 8 e Java 11 tramite il repository Adoptium

Eclipse Temurin è una build OpenJDK liberamente disponibile. Il repository Adoptium mette a disposizione per Debian 13 le versioni dalla 8 alla 26, e la stessa sorgente pacchetti è utilizzabile anche su Debian 12. In questo modo installi qualsiasi versione di Java ti serva, indipendentemente da ciò che porta con sé la tua distribuzione, e la aggiorni poi del tutto normalmente con apt.

Configurare il repository Adoptium

Installa prima i pacchetti di supporto necessari e crea la directory per le chiavi dei repository:

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

mkdir -p /etc/apt/keyrings

Scarica poi la chiave di firma e registra la sorgente pacchetti. La riga sources rimanda con signed-by= esplicitamente a questa singola chiave, che vale quindi soltanto 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

Installare Java 8

apt install temurin-8-jre -y

La variante jre contiene solo l'ambiente di runtime e basta per eseguire applicazioni Java. Se ti serve anche un compilatore, installa invece temurin-8-jdk.

Installare Java 11

apt install temurin-11-jre -y

Vale lo stesso anche qui: per sviluppo e compilazione prendi temurin-11-jdk.

Installare Java 11 su Debian 11 dal repository

Se sul tuo server gira ancora Debian 11 "Bullseye", OpenJDK 11 si trova lì ancora nel repository ufficiale:

apt install openjdk-11-jre-headless -y

Debian 11 riceve però soltanto aggiornamenti di sicurezza LTS limitati. Pianifica un upgrade nel medio termine e passa in quell'occasione a Temurin, così dopo il salto di versione non ti ritrovi senza un pacchetto adatto.

Alternativa: usare la versione standard di Debian

Se la tua applicazione non pretende una versione precisa di Java, ma semplicemente un Java aggiornato, il metapacchetto è la via più comoda:

apt install default-jre-headless -y

A seconda della versione di Debian ne risulta questo Java:

DistribuzioneVersione Java tramite default-jre-headless
Debian 13Java 21
Debian 12Java 17
Debian 11Java 11

Su Debian 11 ottieni così esattamente Java 11, mentre sulle versioni di Debian più recenti ricevi una release nettamente più attuale.

Verificare l'installazione

Per concludere controlla se l'installazione è andata a buon fine. Interroga a questo scopo la versione di Java installata:

java -version

Se nell'output compare la versione principale desiderata (quindi 1.8.0 per Java 8 oppure 11.0 per Java 11), l'installazione è riuscita.

Impostare la versione Java predefinita

Se sono installati più JDK, è la gestione alternatives a stabilire quale versione parte quando richiami java. Prima elenca tutte le versioni presenti:

update-alternatives --list java

Poi scegli in modo interattivo la versione desiderata:

update-alternatives --config java

Perché apt-key non andrebbe più usato

Molte guide più vecchie aggiungono le sorgenti esterne con apt-key adv o apt-key add. Questo comando è deprecato da Debian 11, perché una chiave registrata in quel modo diventa valida per tutte le sorgenti pacchetti del sistema. Un repository esterno compromesso potrebbe così infilare di nascosto anche pacchetti di sistema.

La via moderna è esattamente quella mostrata sopra: la chiave finisce come singolo file sotto /etc/apt/keyrings/ e viene assegnata nella riga sources con signed-by= a un solo repository.

Errori frequenti e soluzioni

"Unable to locate package openjdk-8-jre-headless" oppure "openjdk-11-jre-headless": non è un errore della tua installazione. Debian non contiene più alcun pacchetto per Java 8, e Java 11 solo in Debian 11. Installa la versione tramite il repository Adoptium.

"Unable to locate package temurin-8-jre": il repository non è ancora stato letto. Esegui apt update e verifica con cat /etc/apt/sources.list.d/adoptium.list che alla fine della riga ci sia il codename corretto della tua versione di Debian (per esempio bookworm o trixie).

"NO_PUBKEY" o errori di firma durante apt update: la chiave non è stata salvata correttamente. Scaricala di nuovo in /etc/apt/keyrings/adoptium.asc e assicurati che il file non sia vuoto.

java -version mostra la versione sbagliata: un'altra installazione Java è impostata come predefinita. Correggi la cosa con update-alternatives --config java.

Domande frequenti

Perché su Debian 12 apt non trova openjdk-11-jre-headless?
Perché quel pacchetto lì non esiste più. OpenJDK 11 si trova nei repository ufficiali soltanto in Debian 11. Su Debian 12 e Debian 13 installi Java 11 tramite il repository Adoptium con il pacchetto temurin-11-jre.
Come installo Java 8 su Debian?
Per Java 8 non esiste un pacchetto in nessuna versione attuale di Debian. Aggiungi il repository Adoptium e installa temurin-8-jre, oppure temurin-8-jdk se sviluppi. La chiave di firma va salvata sotto /etc/apt/keyrings.
Quale versione di Java ottengo con default-jre-headless?
Il metapacchetto rimanda alla versione standard della tua distribuzione: Debian 13 dà Java 21, Debian 12 dà Java 17 e Debian 11 dà Java 11. Per Java 8 non serve a nulla, in quel caso non si scappa da Temurin.
Perché non dovrei più usare apt-key?
Una chiave registrata con apt-key vale per tutte le sorgenti pacchetti del sistema. Un repository esterno compromesso potrebbe così infilare di nascosto anche pacchetti di sistema. Da Debian 11 il comando è deprecato: le guide moderne salvano la chiave sotto /etc/apt/keyrings e la richiamano con signed-by nella riga sources.
Ha ancora senso usare Java 8?
Solo se la tua applicazione lo richiede esplicitamente. Java 17, Java 21 e Java 25 ricevono aggiornamenti di sicurezza molto più a lungo. Controlla quindi nella documentazione del tuo software se è supportata una versione di Java più recente.

Java 8 Java 11 OpenJDK Eclipse Temurin Debian 13 Debian 12 Debian Installare Java