Instalar y configurar SDKMAN en Windows 10
SDKMAN! (https://sdkman.io/) es una herramienta para manejar múltiples versiones de SDK en paralelo. Basado en Unix/Linux.
Esta es una guía para la puesta en marcha en Windows 10.
La guía de instalación de SDKMan indica que hay 3 opciones (https://sdkman.io/install), la opción elegida es "git bash para windows".
Previos:
1. Crear la variable de entorno HOME, que apunte al directorio del usuario de windows (c:/Users/UsuarioWindows10; ejemplo: c:/Users/ZolyD )
2. Instalar Git (si lo tienen instalado - omitir paso) - https://git-scm.com/
INSTALACIÓN DE SDKMAN
3. Iniciar la aplicación git bash (instalado en el paso 2) y ejecutar la siguiente secuencia de comandos
cd $HOME
curl -s "https://get.sdkman.io" > get_sdkman_io.bash
4. Ir al directorio de Usuario desde el explorador y abrir el archivo get_sdkman_io.bash con el editor de texto favorito.
5. Comentar (con #) el texto en el que se realiza la búsqueda de zip para continuar con la instalación y guardar los cambios.
6. Iniciar la aplicación git bash e instalar SDKMAN desde archivo, con el siguiente comando:
export SDKMAN_DIR="/c/Users/UsuarioWindows10/.sdkman" && sh get_sdkman_io.bash
ejemplo:
export SDKMAN_DIR="/c/Users/ZolyD/.sdkman" && sh get_sdkman_io.bash
Éxito:
Previos:
1. Crear la variable de entorno HOME, que apunte al directorio del usuario de windows (c:/Users/UsuarioWindows10; ejemplo: c:/Users/ZolyD )
3. Iniciar la aplicación git bash (instalado en el paso 2) y ejecutar la siguiente secuencia de comandos
cd $HOME
curl -s "https://get.sdkman.io" > get_sdkman_io.bash
export SDKMAN_DIR="/c/Users/UsuarioWindows10/.sdkman" && sh get_sdkman_io.bash
ejemplo:
export SDKMAN_DIR="/c/Users/ZolyD/.sdkman" && sh get_sdkman_io.bash
Cerrar la ventana de git bash, para que actualice la configuración de SDKMAN.
7. Crear la variable de entorno JAVA_HOME, que apunte al directorio de sdkman:
C:\Users\UsuarioWindows10\.sdkman\candidates\java\current
ejemplo:
C:\Users\ZolyD\.sdkman\candidates\java\current
7. Crear la variable de entorno JAVA_HOME, que apunte al directorio de sdkman:
C:\Users\UsuarioWindows10\.sdkman\candidates\java\current
ejemplo:
C:\Users\ZolyD\.sdkman\candidates\java\current
8. Editar la variable de entorno (de sistema) Path y agregar la siguiente instrucción:
%JAVA_HOME%\bin
%JAVA_HOME%\bin
10. Validar la instalación de SDKMAN, abrir git bash y ejecutar el comando:
sdk v
***Extra (Obligatorio)*** Bugfix
11. Es un bug que encontré en la versión de SDKMan, que impide la re-creación del directorio "current" cuando se define la versión de java a utilizar.
Comandos útiles SDKMAN - Java (desde git bash)
1. Listar versiones de Java disponibles:
sdk list java
sdk install java identifier_id
Ejemplo (al 23/03/2020):
Instalar java versión 14 de openjdk, comando: sdk install java 14.0.0.j9-adpt
Instalar java versión 13 de openjdk, comando: sdk install java 13.0.2.j9-adpt
Instalar java versión 11 de openjdk, comando: sdk install java 11.0.6.j9-adpt
Instalar java versión 8 de openjdk, comando: sdk install java 8.0.242.j9-adpt
3. Saber que versiones de Java tengo instaladas, verificar la columna "status" que indica installed.
sdk list java
En mi caso, tengo instalado las versiones de java 14, 13, 11 y 8
4. Cambiar de Versiones JavaCaso: tengo activa la versión 14.0.0.j9-adpt, cambiare a la versión 13.
a. Validar la versión de java: java -version
Se visualiza un error cannot remove ... 'current': Is a directoryValidar version de java: java -version
Lo cual indica que no se realizo el cambio de version de java 14 a java 13.*** Inicio de BugFix ***Aqui haremos un bugfix para permitir que se produzca el cambio.
bugFix - Permitir cambiar directorio current de sdkmanbubfix paso 1: Editar el archivo sdkman-path-helpers.sh, ubicado en la ruta: %HOME%/.sdkman/src/
bugfix paso 2: cambiar la linea 85
rm -f "${SDKMAN_CANDIDATES_DIR}/${candidate}/current"
por este valor:
rm -rf "${SDKMAN_CANDIDATES_DIR}/${candidate}/current/"
Guardar los cambios, cerrar la consola de git bash para que apliquen los cambios.
*** Fin de BugFix ***
De este modo puedes cambiar (hacer switch) entre versiones java que quieras probar/utilizar.Saludos y espero que les haya servido.


















Muchas Gracias por la tuto.
ResponderBorrarque bueno que te sirvió. El bug en la version 5.13.0 Ya está corregido.
Borrar