W3docs

Come installare Java (JDK) su Windows, macOS e Linux

Istruzioni passo dopo passo per scaricare e installare il Java Development Kit (JDK) su Windows, macOS e Linux, e verificare l'installazione.

Prima di poter scrivere una sola riga di Java, è necessario installare un JDK — il Java Development Kit — sulla propria macchina. Il JDK include sia il compilatore (javac) che il runtime (java), quindi con una sola installazione si ottiene tutto il necessario per costruire ed eseguire il codice.

Questo capitolo illustra come scegliere una distribuzione, installarla su ciascun sistema operativo principale, verificare che l'installazione funzioni e configurare JAVA_HOME.

JDK, JRE e JVM

Questi tre acronimi confondono quasi tutti i principianti, quindi vale la pena chiarirli prima di installare qualsiasi cosa:

  • JVM (Java Virtual Machine) — il motore che effettivamente esegue il programma compilato. Carica il bytecode e lo esegue sull'hardware in uso.
  • JRE (Java Runtime Environment) — la JVM più la libreria di classi standard. È sufficiente per eseguire programmi Java, ma non per compilarli.
  • JDK (Java Development Kit) — il JRE più gli strumenti di sviluppo: il compilatore javac, il REPL jshell, javadoc e altro ancora.

È necessario il JDK. I download autonomi del JRE non vengono più pubblicati per le versioni moderne, quindi installare un JDK è il percorso normale anche se si intende solo eseguire programmi.

Informazione
"Java 8" era suddiviso in un download separato per JRE e JDK. Da Java 11 in poi esiste solo il JDK — include tutto, quindi non occorre cercare un runtime separato.

Scegliere una distribuzione JDK

Il JDK di Oracle non è l'unica opzione e, oggigiorno, raramente è la più comoda. Esistono diverse build gratuite e open source di OpenJDK ampiamente utilizzate:

  • Eclipse Temurin — la scelta predefinita per la maggior parte dei team; fornisce binari precompilati per ogni piattaforma.
  • Amazon Corretto — supportato da AWS; build con supporto a lungo termine.
  • Microsoft Build of OpenJDK — build supportate da Microsoft, ben integrate con Azure.
  • Azul Zulu — ampia copertura di versioni, incluse le release più vecchie.
  • Oracle JDK — la build ufficiale di Oracle; gratuita ai sensi delle No-Fee Terms and Conditions per la maggior parte degli usi.

Tutte implementano lo stesso linguaggio e la stessa libreria standard. Per questo tutorial scegli una qualsiasi release LTS — Java 21 se possibile, altrimenti Java 17.

Installazione su Windows

  1. Scarica il programma di installazione Windows x64 (.msi) per il JDK scelto dal sito della distribuzione.
  2. Fai doppio clic sul programma di installazione e accetta le impostazioni predefinite. Il programma in genere registra java e javac nel tuo PATH automaticamente.
  3. Apri una nuova finestra di Prompt dei comandi o PowerShell (i terminali già aperti non vedranno il nuovo PATH).
  4. Esegui i comandi di verifica indicati di seguito.

Se i comandi non vengono trovati, sarà necessario aggiungere manualmente la directory bin del JDK al tuo PATH tramite Impostazioni → Sistema → Informazioni → Impostazioni di sistema avanzate → Variabili d'ambiente.

Installazione su macOS

Il modo più semplice è usare Homebrew:

brew install --cask temurin@21

Sostituisci 21 con la versione LTS desiderata. Homebrew installa il JDK in /Library/Java/JavaVirtualMachines/ e lo configura in modo che java e javac funzionino da qualsiasi nuovo terminale.

Senza Homebrew, scarica il programma di installazione .pkg dal sito della distribuzione ed eseguilo. Potrebbe essere necessario aprire un nuovo terminale in seguito.

Installazione su Linux

Su Debian e Ubuntu:

sudo apt update
sudo apt install openjdk-21-jdk

Su Fedora, RHEL e CentOS Stream:

sudo dnf install java-21-openjdk-devel

Su Arch:

sudo pacman -S jdk21-openjdk

Se hai bisogno di un vendor o di una versione specifica non inclusa nei pacchetti della tua distribuzione, SDKMAN! è lo strumento standard per gestire più JDK su una singola macchina Linux o macOS.

Verificare l'installazione

Apri un nuovo terminale ed esegui:

java -version
javac -version

Dovresti vedere un output simile a:

openjdk version "21.0.4" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode)

javac 21.0.4

Se entrambi i comandi stampano la loro versione, il JDK è pronto. Se viene visualizzato "command not found" (o "java is not recognized…" su Windows), la directory bin del JDK non è nel tuo PATH — ricontrolla il passaggio di installazione o apri una nuova sessione del terminale.

Impostare JAVA_HOME (facoltativo ma comune)

Molti strumenti di build e IDE cercano una variabile d'ambiente chiamata JAVA_HOME che punta alla directory radice del JDK. Impostarla esplicitamente evita confusione quando si hanno più JDK installati.

Su macOS e Linux, aggiungi l'esportazione al profilo della shell (~/.zshrc, ~/.bashrc, ecc.):

export JAVA_HOME="$(/usr/libexec/java_home -v 21)"    # macOS
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk          # typical Linux path
export PATH="$JAVA_HOME/bin:$PATH"

Su Windows, imposta JAVA_HOME tramite la finestra di dialogo Variabili d'ambiente e aggiungi %JAVA_HOME%\bin all'inizio di PATH.

Eseguire più JDK contemporaneamente

È comune dover usare versioni diverse di Java per progetti diversi — un'app su Java 17, un'altra su Java 21. Installare più JDK affiancati va benissimo; il problema è che solo uno può essere primo nel tuo PATH alla volta.

Il modo più pulito per passare dall'uno all'altro è SDKMAN! (macOS e Linux):

sdk install java 21.0.4-tem    # install Temurin 21
sdk install java 17.0.12-tem   # install Temurin 17
sdk use java 17.0.12-tem       # switch this shell to 17
sdk default java 21.0.4-tem    # make 21 the default everywhere

sdk use cambia la versione solo per il terminale corrente, il che è ideale per passare da un progetto all'altro. Su Windows, lo strumento equivalente è jabba oppure si punta semplicemente JAVA_HOME alla versione desiderata.

Cosa fare dopo

Con il JDK installato, il capitolo successivo — Configurare un ambiente di sviluppo Java — tratta gli IDE e la struttura del progetto. Dopodiché, Hello World in Java ti guida attraverso la compilazione e l'esecuzione del tuo primo programma con i comandi javac e java appena verificati.

Esercizi

Pratica
Quali di questi sono strumenti di sviluppo che il JDK aggiunge rispetto al JRE? (Seleziona tutte le risposte applicabili.)
Quali di questi sono strumenti di sviluppo che il JDK aggiunge rispetto al JRE? (Seleziona tutte le risposte applicabili.)
Was this page helpful?