SDKMAN! è uno strumento per la gestione di più versioni di kit di sviluppo software su macOS, Linux, WLS, Cygwin, Solaris e FreeBSD. Può installare e gestire Java, Groovy, Scala, Kotlin, Ceylon, Ant, Gradle e molti altri.
Lo strumento è stato ispirato da RVM e rbenv e necessita solo di curl e zip/unzip sul tuo sistema per funzionare come è scritto in bash (non preoccuparti, funziona anche con zsh).
Questo articolo mostra come installare Java usando SDKMAN! (con il programma di installazione o offline con i propri binari Java) e come gestire e utilizzare più versioni di Java (semplicemente impostando una versione Java come predefinita, inclusa l'impostazione della variabile d'ambiente JAVA_HOME o cambiando temporaneamente le versioni Java per la sessione del terminale corrente), o solo per una directory specifica).
1. Per iniziare Installa SDKMAN! Interfaccia a riga di comando.
2. Elenca tutte le possibili versioni di Java.
Questo è SDKMAN! installato, lo useremo. Utilizzare questo comando per elencare tutte le versioni Java idonee:
sdk list java
Questo elenca AdoptOpenJDK e le versioni che puoi installare Amazon Java, Azul Zulu OpenJDK, Java.net, ecc.
Questo è un estratto (l'output è abbastanza grande) di ciò che vedresti se utilizzassi il comando list java:
$ sdk list java
..............................................................
Available Java Versions
==============================================================
Vendor |Use| Version | Dist| Status | Identifier
--------------------------------------------------------------
AdoptOpenJDK| | 14.0.2.j9 | adpt| installed| 14.0.2.j9-adpt
| | 14.0.2.hs | adpt| | 14.0.2.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
| | 11.0.8.hs | adpt| installed| 11.0.8.hs-adpt
| | 8.0.262.j9| adpt| | 8.0.262.j9-adpt
..............................................................
Azul Zulu | | 14.0.2 | zulu| | 14.0.2-zulu
| | 13.0.4 | zulu| | 13.0.4-zulu
| | 13.0.3.fx | zulu| | 13.0.3.fx-zulu
| | 12.0.2 | zulu| | 12.0.2-zulu
| | 11.0.8 | zulu| | 11.0.8-zulu
..............................................................
Java.net | | 16.ea.6 | open| | 16.ea.6-open
| | 15.ea.32 | open| | 15.ea.32-open
| | 14.0.2 | open| | 14.0.2-open
| | 13.0.2 | open| | 13.0.2-open
| | 12.0.2 | open| | 12.0.2-open
| | 11.0.7 | open| | 11.0.7-open
| | 10.0.2 | open| | 10.0.2-open
| | 9.0.4 | open| | 9.0.4-open
| | 8.0.252 | open| | 8.0.252-open
.............................................................
Presta attenzione a quel Identifier
Pilastro. Questo è il nome del pacchetto che devi usare per installare una versione di Java.
3. Installa una versione Java con SDKMAN!.
Il comando che puoi utilizzare per installare una versione di Java è:
sdk install java IDENTIFIER
Sostituisci IDENTIFIER
con l'identificatore della versione Java, come in sdk list java
Uscita comando.
Ad esempio, per installare AdoptOpenJDK versione 11.0.8.hs, il comando di installazione è:
sdk install java 11.0.8.hs-adpt
SDKMAN! può anche installare una versione locale di java come segue:
sdk install java [UNIQUE-IDENTIFIER] /path/to/Java
Ad esempio, scarica l'ultimo Oracle Java 14 .tar.gz (se non stai utilizzando il nostro programma di installazione Oracle Java), estrailo, quindi usa SDKMAN! per installarlo con:
sdk install java 14.0.2-oracle ~/Downloads/jdk-14.0.2
4. Passa da una versione Java all'altra.
Ci sono 3 modi per usare le versioni Java con SDKMAN! gestire:
- Imposta una versione Java come predefinita
- Utilizzare una versione di Java solo per la sessione del terminale corrente
- attiva una versione Java specifica quando accedi a una directory
A. Imposta una versione Java come predefinita.
Per specificare una delle versioni Java installate con SDKMAN! (indipendentemente dal fatto che sia stato installato con il programma di installazione integrato o da una directory locale) come versione Java standard, utilizzare:
sdk default java IDENTIFIER
Sostituisci IDENTIFIER
con l'identificatore della versione Java, come in sdk list java
Uscita comando.
Ad esempio, per rendere AdoptOpenJDK versione 11.0.8.hs la versione Java predefinita del sistema, utilizzare:
sdk default java 11.0.8.hs-adpt
Questo imposta anche la variabile d'ambiente JAVA_HOME ~/.sdkman/candidates/java/current
.
B. Utilizzare una versione Java solo per la sessione del terminale corrente:
sdk use java IDENTIFIER
Sostituisci IDENTIFIER
con l'ID della versione Java, come in sdk list java
Uscita comando.
Ad esempio, imposta Java 14.0.2-oracle installato localmente come versione Java per la sessione del terminale corrente:
sdk use java 14.0.2-oracle
C. Attiva una versione Java specifica quando accedi a una directory.
Fallo nella directory per cui desideri utilizzare una versione personalizzata di Java per:
sdk env init
Un file chiamato .sdkmanrc
è stato ora generato in questa directory. Aprilo e cambia il valore di java=
l'ID della versione Java che si desidera utilizzare, ad es. B. 11.0.8.hs-adpt
per AdottaOpenJDK 11.0.8.
Ora esegui sdk env
in questa directory per attivare la versione Java che hai nel .sdkmanrc
Archivia o modifica l'SDKMAN! File di configurazione (~/.sdkman/etc/config
) e regola sdkman_auto_env=true
in modo che le versioni dell'SDK vengano cambiate automaticamente quando cd
in una directory.
Indipendentemente da come ottieni una versione Java tramite SDKMAN! puoi controllare quale versione di Java è attualmente in uso (come determinato da SDKMAN) con:
sdk current java
Puoi anche richiedere direttamente la versione corrente di Java:
java -version
javac -version