Installare e gestire più versioni Java con SDKMAN!

sdkman jdk

SDKMAN! è un tool gratuito per gestire in modo semplice ed immediato, versioni parallele di molteplici Software Development Kit ( SDK ) sulla maggior parte di sistemi operativi basati su UNIX. Il tool fornisce una comodissima Command Line Interface ( CLI ) ed un set di API per installare, cambiare, rimuovere e visualizzare versioni candidate di SDK.

Partiamo subito con l’installazione sulla nostra macchina basata su UNIX, in questo caso useremo Xubuntu 20.10 come da screen

xubuntu 20.10

Apriamo il nostro terminale di fiducia e digitiamo

curl -s "https://get.sdkman.io" | bash

Diamo INVIO e seguiamo le istruzioni che ci vengono fornite a schermo.

Una volta terminata l’installazione basterà chiudere il terminale e riaprirlo, oppure dando il seguente comando

source "$HOME/.sdkman/bin/sdkman-init.sh"

A questo punto per controllare se abbiamo installato in modo corretto SDKMAN! digitiamo da terminale

sdk version

e dovremmo avere una situazione del genere

sdman version

Bene, abbiamo installato con successo SDKMAN! sul nostro sistema UNIX, nel mio caso Xubuntu 20.10. Ma adesso?

Adesso è il turno delle vere e proprie JDK/SDK che ci interessano ( QUI la lista delle JDK, mentre QUI l’elenco delle SDK installabili tramite SDKMAN! ) .

Nel mio caso voglio installare le JDK Open fornite da Java.net nella versione 16.0.1 perchè un mio progetto ne necessita.
Per prima cosa andiamo a digitare

sdk ls java

Diamo INVIO ed avremo una lista del genere ( tagliata in quanto risulta molto lunga )

sdkman java list

Come si evince dallo screen, nel mio sistema ci sono già due versioni di JDK installate:

  • JDK 8.0.292-open contrassegnata con >>> e vuol dire che è la versione globale in uso nel sistema operativo  ( cioè il risultato del comando java -version dato nel terminale )
  • JDK 11.0.11-open che è installata, è disponibile per eventuali software, come la IDE ECLIPSE, ma non è di sistema

Bene, per procedere all’installazione della versione JDK 16.0.1-open andiamo a digitare

sdk install java 16.0.1-open

Diamo nuovamente INVIO ed aspettiamo la fine del download e dell’installazione. A fine del processo, verrà chiesto se si vuole impostare questa versione ( la 16.0.1-open nel mio caso ) come versione globale di default. Non avendo bisogno globalmente di questa versione, ma solo per un progetto, digito N e do INVIO.

Bene, ora che abbiamo visto come installare una versione di JDK, possiamo nello stesso modo installare tutte quelle che vogliamo e cdi cui abbiamo bisogno.
QUI la lista dei comandi direttamente dal sito del progetto.

Inoltre l’intero processo, sia di installazione SDKMAN! che delle singole JDK, non richiedono i permessi di ROOT, e tutte le JDK installate sono disponibili in

/home/_USER_/.sdkman/candidates/java/

Così da poterci accedere anche da altri programmi.