SDKMAN
SDKMAN! è uno strumento per la gestione di versioni parallele di più kit di sviluppo software (SDK) sulla maggior parte dei sistemi basati su Unix. Fornisce una comoda Command Line Interface (CLI) e API per l’installazione, la gestione, la rimozione e l’elenco dei candidati.
I vantaggi
- Scritto in bash richiede solo zip e unzip;
- facilità nell’installazione e nella gestione di più SDK (variabili di ambiente comprese);
- compatibile con Java, Groovy, Scala, Kotlin e Ceylon, Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x …;
- offre una CLI e API;
- multipiattaforma (Mac OSX, Linux, Cygwin, Solaris and FreeBSD).
L’installazione è davvero semplice:
$ curl -s "https://get.sdkman.io" | bash
Mettiamo le mani in pasta
In questo esempio lavoreremo con java e quindi JDK.
$ sdk list java
================================================================================
Available Java Versions
================================================================================
Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------
AdoptOpenJDK | | 14.0.1.j9 | adpt | | 14.0.1.j9-adpt
| | 14.0.1.hs | adpt | | 14.0.1.hs-adpt
| | 13.0.2.j9 | adpt | | 13.0.2.j9-adpt
| | 13.0.2.hs | adpt | | 13.0.2.hs-adpt
| | 12.0.2.j9 | adpt | | 12.0.2.j9-adpt
| | 12.0.2.hs | adpt | | 12.0.2.hs-adpt
| | 11.0.7.j9 | adpt | | 11.0.7.j9-adpt
| >>> | 11.0.7.hs | adpt | installed | 11.0.7.hs-adpt
| | 8.0.252.j9 | adpt | | 8.0.252.j9-adpt
| | 8.0.252.hs | adpt | | 8.0.252.hs-adpt
Amazon | | 11.0.7 | amzn | | 11.0.7-amzn
| | 8.0.252 | amzn | installed | 8.0.252-amzn
Azul Zulu | | 14.0.1 | zulu | | 14.0.1-zulu
...
Se volessimo installare una versione specifica (11.0.7.hs-adpt) basterà lanciare:
$ sdk install java 11.0.7.hs-adpt
per poi selezionarla:
$ sdk use java 11.0.7.hs-adpt
Using java version 11.0.7.hs-adpt in this shell.
verifichiamo:
$java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mixed mode)
Se poi volessimo cambiare JDK non ci resterebbe che lanciare:
$ sdk use java 8.0.252-amzn
Using java version 8.0.252-amzn in this shell.
verifichiamo:
$ java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment Corretto-8.252.09.1 (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM Corretto-8.252.09.1 (build 25.252-b09, mixed mode)
SDKMAN si preoccuperà di rendere disponibili gli eseguibili e le variabili di ambiente.
$ echo $JAVA_HOME
/home/mpascale/.sdkman/candidates/java/8.0.252-amzn
Se utilizzi molto java non ti resta che approfondire e diventare un vero ninja.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: