SDKMAN es un gestor de entornos y herramientas Java. Cuando trabajas en un entorno “corporativo” (¿aburrido?) sueles tener claramente fijadas las versiones de herramientas de desarrollo a utilizar, por ejemplo, Java 8 en la versión 1.8.0_121 o Maven 3.2.1, etc… Sin embargo cuando empiezas a cacharrear y a tratar de instalar cosas nuevas es relativamente normal que acabes con dos (o tres o seis) versiones del JDK: la “buena” (1.8), la de “los módulos” (9), la de “los val” (10) y la “nueva buena” (11). Todo eso puedes gestionarlo a mano, claro, para eso esta JAVA_HOME, pero ¿qué pasa si tienes varias versiones de Maven? ¿Y si son más herramientas? Ya se empieza a hacer cansino. Pues bien, SDKMAN se ocupa precisamente de eso, lo instalas y él te instala las versiones que quieras de las herramientas, te pone unas activas, etc… Pero mejor enseño un ejemplo. ##Instalación Pues basta con seguir las instrucciones. Yo como soy un poco particular y maniático, me gusta tener todo lo relacionado con el desarrollo ordenado en carpetas particulares, así que para la instalación especifico primero el directorio en el que quiero que me lo instale y después lanzo el script de instalación:
export SDKMAN_DIR="/home/agustin/Development/Java/Tools/sdkman"
curl -s "https://get.sdkman.io" | bash
source Development/Java/Tools/sdkman/bin/sdkman-init.sh
Con ésto ya esta instalado (en el directorio Development/Java/Tools/sdkman).
##Uso Vale, pues lo primero es comprobar que esta bien:
sdk help
Una vez instalado, se puede ver todo el software disponible con list:
sdk list
Y todas las versiones de un software concreto con list
sdk list java
Para instalar Java 11 (OpenJDK):
sdk install java 11.0.0-open
Y con ésto, java -version te debe devolver OpenJDK 11 (es posible que tengas que abrir un terminal nuevo).
##Desinstalación Si por lo que sea te cansas de SDKMAN, la desinstalación son dos pasos:
- Borrar el directorio de instalación (.sdkman en tu home por defecto)
- Repasar .bashrc, .bash_profile o .profile para ver que no haya quedado rastro.