Java
Java SDK
In laboratorio sono installate diverse versioni di Java: quella fornita dalla distribuzione Linux e le versioni OpenJDK rilasciate dal progetto Eclipse Adoptium (che in precedenza era chiamato AdoptOpenJDK).
In generale utilizziamo solo le versioni LTS (Long Term Support).
In laboratorio sono disponibili Java 8, 11, 17, 21, tutti installati in /opt
,
in cartelle che seguono il numero della versione (ad es. jdk-11.0.2,
jdk1.8.0_131, ecc). L’ultimo numero indica l’aggiornamento del JDK.
Il percorso:
/opt/java
è un link simbolico che punta alla versione del JDK che riteniamo più adatta per l’utilizzo in laboratorio. Al momento, Java 11.
Allo stesso modo, esistono dei link per le singole versioni:
/opt/java8
/opt/java11
/opt/java17
/opt/java21
che puntano alla versione più aggiornata rispettivamente di Java 8, Java 11, Java 17 e Java 21.
NOTA: per poter utilizzare il compilatore o anche solo il runtime è necessario inserire nella propria variabile d’ambiente PATH il percorso in cui è installato Java. Ad esempio:
export PATH="/opt/java/bin:$PATH"
NOTA 2: per rendere permanente questa impostazione, è necessario inserire
il precedente comando nel proprio file ~/.bashrc
.
Variabile JAVA_HOME
Alcuni programmi controllano la variabile d’ambiente JAVA_HOME per decidere quale versione di Java utilizzare.
Conviene quindi impostare questa variabile, ad esempio con il comando:
export JAVA_HOME="/opt/java"
Che può essere inserito nei propri file di avvio per rendere permanente la situazione.
Cambio di Licenza
Attenzione: da aprile 2019 Oracle ha cambiato la licenza d’utilizzo di Java. Per questo motivo potremo solo più utilizzare l’OpenJDK, o le versioni rilasciate prima del cambio di licenza.
Come utilizzare Java 8
Da agosto 2022 in laboratorio la versione di default di Java non è più la 8.
Seguendo le spiegazioni riportate in questa pagina, questi sono i due comandi da lanciare prima di utilizzare un programma che richiede Java 8:
export PATH="/opt/java8/bin:$PATH"
export JAVA_HOME="/opt/java8"
(Come sempre, l’ambiente modificato in questo modo vale solo per i programmi lanciati da quel terminale.)
Segnalateci i programmi che non funzionano con Java 11, in modo da poterli verificare.