SDKMAN! es una herramienta para administrar múltiples versiones de kits de desarrollo de software en macOS, Linux, WLS, Cygwin, Solaris y FreeBSD. Puede instalar y administrar Java, Groovy, Scala, Kotlin, Ceylon, Ant, Gradle y muchos más.
La herramienta se inspiró en RVM y rbenv y solo necesita curl y zip/unzip en su sistema para funcionar como está escrito en bash (no se preocupe, también funciona con zsh).
¡Este artículo muestra cómo instalar Java usando SDKMAN! (con el instalador o fuera de línea con sus propios binarios de Java) y cómo administrar y usar múltiples versiones de Java (simplemente configurando una versión de Java como predeterminada, incluida la configuración de la variable de entorno JAVA_HOME o cambiando temporalmente las versiones de Java para la sesión de terminal actual), o solo para un directorio específico).
1. Para comenzar ¡Instala el SDKMAN! Interfaz de línea de comandos.
2. Enumere todas las posibles versiones de Java.
¡Eso es SDKMAN! instalado, lo usaremos. Use este comando para listar todas las versiones de Java elegibles:
sdk list java
Esto enumera AdoptOpenJDK y las versiones que puede instalar Amazon Java, Azul Zulu OpenJDK, Java.net, etc.
Este es un extracto (el resultado es bastante grande) de lo que vería si usara el 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 atención a ese Identifier
Pilar. Este es el nombre del paquete que necesita usar para instalar una versión de Java.
3. ¡Instala una versión de Java con SDKMAN!.
El comando que puede usar para instalar una versión de Java es:
sdk install java IDENTIFIER
Sustituir IDENTIFIER
con el identificador de la versión de Java, como en el sdk list java
Salida de comando.
Por ejemplo, para instalar AdoptOpenJDK versión 11.0.8.hs, el comando de instalación es:
sdk install java 11.0.8.hs-adpt
SDKMAN! También puede instalar una versión local de Java de la siguiente manera:
sdk install java [UNIQUE-IDENTIFIER] /path/to/Java
Por ejemplo, descargue el último Oracle Java 14 .tar.gz (si no está utilizando nuestro instalador de Oracle Java), extráigalo y luego use SDKMAN. para instalarlo con:
sdk install java 14.0.2-oracle ~/Downloads/jdk-14.0.2
4. Cambiar entre versiones de Java.
¡Hay 3 formas de usar las versiones de Java con SDKMAN! administrar:
- Hacer que una versión de Java sea la predeterminada
- Utilice una versión de Java solo para la sesión de terminal actual
- activa una versión específica de Java cuando ingresas a un directorio
A. Haga que una versión de Java sea la predeterminada.
¡Para especificar una de las versiones de Java instaladas con SDKMAN! (independientemente de si se instaló con el programa de instalación integrado o desde un directorio local) como versión estándar de Java, utilice:
sdk default java IDENTIFIER
Sustituir IDENTIFIER
con el identificador de la versión de Java, como en el sdk list java
Salida de comando.
Por ejemplo, para hacer que AdoptOpenJDK versión 11.0.8.hs sea la versión predeterminada de Java del sistema, utilice:
sdk default java 11.0.8.hs-adpt
Esto también configura la variable de entorno JAVA_HOME ~/.sdkman/candidates/java/current
.
B. Use una versión de Java solo para la sesión de terminal actual:
sdk use java IDENTIFIER
Sustituir IDENTIFIER
con el ID de la versión de Java, como en el sdk list java
Salida de comando.
Por ejemplo, configure Java 14.0.2-oracle instalado localmente como la versión de Java para la sesión de terminal actual:
sdk use java 14.0.2-oracle
C. Active una versión específica de Java al ingresar a un directorio.
Haga esto en el directorio para el que desea usar una versión personalizada de Java:
sdk env init
Un archivo llamado .sdkmanrc
ahora se ha generado en este directorio. Ábrelo y cambia el valor de java=
el ID de la versión de Java que desea utilizar, p. B. 11.0.8.hs-adpt
para AdoptOpenJDK 11.0.8.
Ahora ejecute sdk env
en este directorio para activar la versión de Java que tienes en el .sdkmanrc
¡Archive o edite el archivo SDKMAN! Archivo de configuración (~/.sdkman/etc/config
) y ajuste sdkman_auto_env=true
para que las versiones de SDK se cambien automáticamente cuando cd
en un directorio.
¡Independientemente de cómo obtenga una versión de Java a través de SDKMAN! puede verificar qué versión de Java está actualmente en uso (según lo determinado por SDKMAN) con:
sdk current java
También puede solicitar información sobre la versión actual de Java directamente:
java -version
javac -version