Introduzione

Java è uno dei linguaggi di programmazione più popolari utilizzati per creare diversi tipi di applicazioni e sistemi.

Esistono due diverse implementazioni di Java, Oracle Java e OpenJDK. OpenJDK è un'implementazione open source della piattaforma Java. Oracle Java ha alcune funzionalità commerciali aggiuntive e una licenza che consente solo l'uso non commerciale, come l'uso personale o di sviluppo.

Questa guida spiega come installare Java (OpenJDK) su Raspberry Pi con l'ultimo sistema operativo Raspbian in esecuzione su di esso.

I repository standard di Raspbian includono due diversi pacchetti Java, Java Runtime Environment (JRE) e Java Development Kit (JDK). JRE include la Java virtual machine (JVM), le classi e i binari che consentono di eseguire programmi Java. JDK è costituito da JRE e dagli strumenti di sviluppo/debug e dalle librerie necessarie per creare applicazioni Java.

Se non si è sicuri del pacchetto Java da installare, si consiglia di attenersi alla versione OpenJDK predefinita (JDK 11). Alcune applicazioni basate su Java potrebbero richiedere una versione specifica di Java, pertanto è necessario consultare la documentazione dell'applicazione.

Installare Java 11 su Raspberry Pi

OpenJDK 11 è lo sviluppo e il runtime Java predefiniti nell'ultimo sistema operativo Raspbian, basato su Debian 10, Buster.

Esegui i seguenti comandi per installare OpenJDK 11 JDK sul tuo Raspberry Pi:

sudo apt update
sudo apt install default-jdk

Una volta completata l'installazione, verificala controllando la versione Java:

java -version

L'output dovrebbe assomigliare a questo:

openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Raspbian-1deb10u1)
OpenJDK Server VM (build 11.0.5+10-post-Raspbian-1deb10u1, mixed mode)

Hai installato correttamente Java sul tuo Pi e puoi iniziare a usarlo.

Installare Java 8 su Raspberry Pi

La precedente versione di Java LTS 8 è ancora supportata e ampiamente utilizzata. Se l'applicazione richiede Java 8, installarlo digitando:

sudo apt update
sudo apt install openjdk-8-jdk

Verifica l'installazione stampando la versione Java:

java -version

L'output dovrebbe assomigliare a questo:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01)
OpenJDK Client VM (build 25.212-b01, mixed mode)

Impostare la versione predefinita

Se hai più versioni Java installate sul tuo Pi, esegui il comando java -version per verificare la versione predefinita:

java -version

Per modificare la versione predefinita utilizzare lo strumento update-alternatives:

sudo update-alternatives --config java

L'output sarà simile al seguente:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-armhf/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-armhf/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Ti verrà presentato un elenco di tutte le versioni di Java installate. Immettere il numero della versione che si desidera impostare come predefinito e premere Enter.

Variabile d'ambiente JAVA_HOME

La variabile di ambiente JAVA_HOME  viene utilizzata da alcune applicazioni Java per determinare la posizione di installazione di Java.

Per impostare la Jvariabile di ambiente AVA_HOME, utilizzare il comando update-alternatives per trovare dove è installato Java:

sudo update-alternatives --config java

In questo esempio i percorsi di installazione sono i seguenti:

  • OpenJDK 11 si trova in /usr/lib/jvm/java-11-openjdk-armhf/bin/java
  • OpenJDK 8 si trova in /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java

Una volta trovato il percorso dell'installazione Java, apri il file /etc/environment:

sudo nano /etc/environment

Supponendo di voler impostare JAVA_HOME su OpenJDK 11, aggiungere la seguente riga, alla fine del file:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-armhf/bin/java"

Affinché le modifiche abbiano effetto sulla shell corrente, è possibile disconnettersi e accedere nuovamente, oppure eseguire il comando source in questo modo:

source /etc/environment

Per verificare che la variabile JAVA_HOME sia impostata, digitare:

echo $JAVA_HOME

Dovresti vedere il percorso del binario Java 11:

/usr/lib/jvm/java-11-openjdk-armhf/bin/java

/etc/environment è un file di configurazione a livello di sistema, utilizzato da tutti gli utenti. Se si desidera impostare la variabile JAVA_HOME su una base per un solo utente specifico, aggiungere la riga precedente al file .bashrc o in qualsiasi altro file di configurazione che viene caricato quando l'utente accede.

Disinstallare Java

È possibile disinstallare Java come qualsiasi altro pacchetto installato con apt.

Ad esempio, per disinstallare il pacchetto default-jdk è sufficiente eseguire questo comando:

sudo apt remove default-jdk

Conclusione

L'ultima versione LTS di OpenJDK è disponibile nei repository Raspbian predefiniti e l'installazione è un'attività semplice e diretta.