Installazione di Java

Héctor Louzao, Ankur Sinha, alciregi, Nico Shetty, chris-r Version F42 Last review: 2025-10-14

Java è un linguaggio di programmazione popolare che consente di eseguire programmi su molte piattaforme, inclusa Fedora. Se desideri creare programmi Java, devi installare un JDK (Java Development Kit). Se vuoi eseguire un programma Java, puoi farlo su una JVM (Java Virtual Machine), che è fornita con il JRE (Java Runtime Environment). In caso di dubbio, installa il JDK, poiché a volte è necessario anche se non intendi scrivere programmi Java.

Esistono molte varianti di Java e diverse versioni per ciascuna variante. Se desideri eseguire un’applicazione specifica, consulta la documentazione di quel software per verificare quali versioni di Java sono supportate o sono state testate. La maggior parte delle applicazioni Java funziona con una delle seguenti:

  • OpenJDK — un’implementazione open-source della piattaforma Java, Standard Edition. Questa versione è preferita ed è inclusa in Fedora.

  • Oracle Java SE — L’ex Oracle SE non è più distribuito da Fedora.

Puoi trovare le seguenti versioni:

  • Le versioni a supporto a lungo termine LTS, attualmente 21, 25

  • L’ultima, attualmente 24

Installazione di OpenJDK

Per installare OpenJDK dal repository di Fedora:

  • Esegui il seguente comando per elencare le versioni disponibili:

dnf search openjdk
  • Copia la versione di OpenJDK che desideri installare.

Sono disponibili diverse varianti di OpenJDK. Per informazioni su queste opzioni, consulta il sito web di OpenJDK.
  • Esegui il seguente comando per installare OpenJDK:

sudo dnf install <openjdk-package-name>

Esempi:

sudo dnf install java-21-openjdk.x86_64
sudo dnf install java-25-openjdk.x86_64
sudo dnf install java-latest-openjdk.x86_64

Installazione di OpenJDK per lo sviluppo

Per installare il Java Development Kit, l’ambiente di runtime e gli strumenti di sviluppo associati.

sudo dnf install <openjdk-package-name>-devel

Esempi:

sudo dnf install java-21-openjdk-devel.x86_64
sudo dnf install java-25-openjdk-devel.x86_64
sudo dnf install java-latest-openjdk-devel.x86_64

Installazione di una versione precedente di Java

Per installare una versione precedente di Java:

  • Installa il repository Java Adoptium Temurin:

sudo dnf install adoptium-temurin-java-repository

Quindi, abilita i repository di terze parti:

sudo fedora-third-party enable
  • Esegui il seguente comando per elencare le versioni disponibili:

dnf search temurin
  • Copia la versione di Temurin che desideri installare.

  • Esegui il seguente comando per installare Temurin JDK:

sudo dnf install <temurin-package-name>

Esempi:

sudo dnf install temurin-8-jdk.x86_64
sudo dnf install temurin-17-jdk.x86_64

Installazione di Oracle Java SE

This page discusses third-party software sources not officially affiliated with or endorsed by the Fedora Project. Use them at your own discretion. Fedora recommends the use of free and open source software and avoidance of software encumbered by patents.

Per installare Oracle Java SE:

  1. Vai alla pagina di download di Oracle Java SE e scegli la versione di Java che desideri utilizzare.

  2. Accetta il contratto di licenza e scarica il file tar.gz appropriato per l’architettura del tuo sistema.

  3. Decomprimi il file tar.gz in una posizione. Ad esempio, per estrarlo nella directory /opt: sudo tar xf Downloads/jdk-25_linux-x64_bin.tar.gz -C /opt

  4. Imposta la variabile d’ambiente JAVA_HOME su quella directory. Ad esempio: export JAVA_HOME=/opt/jdk-25.0.1.1

Nota: Assicurati sempre di scaricare l’ultima versione disponibile.

Passaggio tra versioni di Java

Se hai installato diverse versioni di Java sul tuo sistema, puoi passare da una all’altra.

Dopo aver eseguito questo comando, vedrai un elenco di tutte le versioni di Java installate, seleziona:

sudo alternatives --config java

Inserisci semplicemente un numero di selezione per scegliere quale eseguibile Java deve essere utilizzato come predefinito.

  • verifica:

java -version

Riferimento JDK

Consulta il seguente elenco di acronimi relativi a Java per riferimento:

JRE

Java Runtime Environment; necessario per eseguire codice e applicazioni Java

JVM

Java Virtual Machine; componente principale del JRE

JDK

Java Development Kit; necessario solo per lo sviluppo e la programmazione

SDK

Software Development Kit; vedi JDK

JavaWS

Java Web Start è un framework per avviare applicazioni da Internet

JavaFX

JavaFX è una piattaforma per creare e distribuire applicazioni desktop e Rich Internet Apps

OpenJFX

è l’implementazione open source di JavaFX

OpenJDK

Progetto open source alla base della piattaforma Java openjdk.java.net.

IcedTea

è un progetto di supporto per OpenJDK (riguarda solo gli sviluppatori) icedtea.classpath.org

IcedTea-Web

è il pacchetto Java Web Start (contiene solo JavaWS, non più applet); installalo per eseguire file JNLP

applet

sono una tecnologia obsoleta; non implementata in nessun pacchetto recente

JSE, J2SE, JEE, …​

acronimi obsoleti per Java Standard & Enterprise Edition; JavaSE è simile a JRE

Componenti del JDK

Il JDK ha come componenti principali una collezione di strumenti di programmazione, inclusi:

appletviewer

questo strumento può essere utilizzato per eseguire e debuggare applet Java senza un browser web

apt

lo strumento per l’elaborazione delle annotazioni

extcheck

un’utilità che può rilevare conflitti nei file JAR

idlj

il compilatore da IDL a Java. Questa utilità genera binding Java da un determinato file IDL Java.

jabswitch

il Java Access Bridge. Espone tecnologie assistive sui sistemi Microsoft Windows.

java

il caricatore per applicazioni Java. Questo strumento è un interprete e può interpretare i file di classe generati dal compilatore javac. Ora viene utilizzato un unico lanciatore sia per lo sviluppo che per la distribuzione. Il vecchio lanciatore di distribuzione, jre, non è più incluso nel Sun JDK, ed è stato invece sostituito da questo nuovo caricatore Java.

javac

il compilatore Java, che converte il codice sorgente in bytecode Java

javadoc

il generatore di documentazione, che genera automaticamente la documentazione dai commenti del codice sorgente

jar

l’archiviatore, che raggruppa le librerie di classi correlate in un singolo file JAR. Questo strumento aiuta anche a gestire i file JAR.

javafxpackager

strumento per impacchettare e firmare applicazioni JavaFX

jarsigner

lo strumento per la firma e la verifica dei file JAR

javah

il generatore di intestazioni e stub C, utilizzato per scrivere metodi nativi

javap

il disassemblatore di file di classe

javaws

il lanciatore Java Web Start per applicazioni JNLP

JConsole

Console di monitoraggio e gestione Java

jdb

il debugger

jhat

Strumento di analisi dell’heap Java (sperimentale)

jinfo

Questa utilità ottiene informazioni di configurazione da un processo Java in esecuzione o da un dump di crash. (sperimentale)

jmap

Questa utilità produce la mappa della memoria per Java e può stampare mappe di memoria degli oggetti condivisi o dettagli della memoria heap di un determinato processo o core dump. (sperimentale)

jmc

Java Mission Control

jps

Strumento di stato dei processi della Java Virtual Machine che elenca le macchine virtuali Java HotSpot instrumentate sul sistema target. (sperimentale)

jrunscript

Shell di script a riga di comando Java.

jstack

utilità che stampa le tracce dello stack Java dei thread Java (sperimentale)

jstat

Strumento di monitoraggio delle statistiche della Java Virtual Machine (sperimentale)

jstatd

demone jstat (sperimentale)

keytool

strumento per la gestione del keystore

pack200

Strumento di compressione JAR

policytool

lo strumento di creazione e gestione delle policy, che può determinare la politica per un runtime Java, specificando quali permessi sono disponibili per il codice proveniente da varie fonti

VisualVM

strumento visivo che integra diversi strumenti JDK a riga di comando e capacità di profilazione delle prestazioni e della memoria leggere [chiarimento necessario]

wsimport

genera artefatti JAX-WS portatili per l’invocazione di un servizio web.

xjc

Parte dell’API Java per il Binding XML (JAXB). Accetta uno schema XML e genera classi Java.

Il JDK include anche un ambiente di runtime Java completo, solitamente chiamato runtime privato, perché è separato dal JRE "regolare" e ha contenuti aggiuntivi. È composto da una Java Virtual Machine e da tutte le librerie di classi presenti nell’ambiente di produzione, oltre a librerie aggiuntive utili solo agli sviluppatori, come le librerie di internazionalizzazione e le librerie IDL.

Risorse aggiuntive

Per Java in Fedora, consulta:

Per maggiori informazioni su Java in generale, consulta:

Per sviluppare applicazioni Java, considera i seguenti IDE open-source: