Java è uno dei linguaggi di programmazione più popolari utilizzati per creare diversi tipi di applicazioni e sistemi.
Esistono due diverse implementazioni di Java, OpenJDK e Oracle Java, quasi senza differenze tra loro, tranne per il fatto che Oracle Java ha alcune funzionalità commerciali aggiuntive. La licenza Oracle Java consente solo l'uso non commerciale del software, come l'uso personale e l'uso di sviluppo. OpenJDK è un'implementazione open source della piattaforma Java.
I repository CentOS 8 predefiniti includono le ultime due versioni principali di Java LTS, Java 8 e Java 11.
In questo tutorial spiegheremo come installare una o più versioni Java (OpenJDK) su CentOS 8 e come impostare Java di default tramite alternative.
Installazione di OpenJDK 11 #
La raccomandazione generale è di installare l'ultima versione di Java LTS (JDK 11). Alcune applicazioni basate su Java potrebbero richiedere una versione specifica di Java, quindi potrebbe essere necessario consultare la documentazione dell'applicazione.
Per installare OpenJDK 11 su CentOS 8, esegui il seguente comando come root o utente con privilegi sudo:
sudo dnf install java-11-openjdk-devel
Una volta completata l'installazione, puoi verificarla controllando la versione Java:
java -version
L'output dovrebbe essere simile a questo:
openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
Questo è tutto! Hai installato correttamente Java sul tuo sistema CentOS 8.
CentOS 8 supporta anche una versione headless di OpenJDK che fornisce un runtime Java minimo necessario per l'esecuzione di applicazioni senza un'interfaccia utente grafica (nessun supporto per tastiera, mouse e sistemi di visualizzazione). Questa versione è più adatta per le applicazioni server poiché ha meno dipendenze e utilizza meno risorse di sistema.
Per installare solo l'headless OpenJDK 11 digita:
sudo dnf install java-11-openjdk-headless
Se hai già installato java-11-openjdk-devel
, il pacchetto headless verrà installato come dipendenza.
Installazione di OpenJDK 8 #
Java 8, la precedente versione di Java LTS, è ancora supportata e ampiamente utilizzata. Se la tua applicazione richiede Java 8, puoi installarla digitando il seguente comando:
sudo dnf install java-1.8.0-openjdk-devel
Verifica l'installazione controllando la versione Java:
java -version
L'output dovrebbe essere simile a questo:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
Per un runtime Java minimo, installa java-1.8.0-openjdk-headless
pacchetto.
Impostazione della versione Java predefinita #
Se hai installato più versioni Java sul tuo sistema CentOS, puoi utilizzare il sistema alternativo per impostare quale versione Java verrà utilizzata quando digiti java
nel terminale.
Per verificare quale versione di Java è impostata come predefinita, digita:
java -version
Se vuoi cambiare la versione predefinita, usa le alternatives
comando:
sudo alternatives --config java
L'output sarà simile al seguente:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)
*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number:
Sullo schermo verrà stampato un elenco di tutte le versioni Java installate. Inserisci il numero della versione che desideri utilizzare come predefinita e premi Enter
.
Potresti anche voler cambiare il predefinito javac
versione:
sudo alternatives --config java
javac
è un'utilità di comando per la compilazione di programmi Java.
Impostazione di JAVA_HOME
Variabile d'ambiente #
Il JAVA_HOME
La variabile di ambiente viene utilizzata da alcune applicazioni Java per determinare il percorso di installazione di Java e specificare quale versione Java deve essere utilizzata per eseguire l'applicazione.
Per impostare il JAVA_HOME
variabile per utente, aggiungila a ~/.bashrc
o qualsiasi altro file di configurazione che viene caricato quando l'utente effettua l'accesso. Per un'impostazione a livello di sistema, utilizzare uno script all'interno di /etc/profile.d
directory.
Supponendo che tu voglia impostare JAVA_HOME
a OpenJDK 8 aggiungi la seguente riga, alla fine del file:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
Affinché le modifiche abbiano effetto sulla tua shell attuale, puoi uscire e accedere o utilizzare il source
comando:
source /etc/profile.d/java.sh
Verifica che il JAVA_HOME
la variabile di ambiente è stata impostata correttamente:
echo $JAVA_HOME
L'output dovrebbe mostrare il percorso dell'installazione Java:
/usr/lib/jvm/java-1.8.0-openjdk
Puoi anche impostare il JAVA_HOME
nella configurazione dell'applicazione, nel file dell'unità di sistema o nella riga di comando all'avvio del programma.
Ad esempio, per eseguire Maven utilizzando Java 8, digitare:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre
...