SdkMan - O Gerenciador de SDKs

O que é o SdkMan ?

O SdkMan é uma ferramenta para gerenciar versões paralelas de vários kits de desenvolvimento de software(SDKs) na maioria dos sistemas baseados em Unix. Ele fornece uma interface de linha de comando (CLI) que torna facil instalar, alternar, remover e listar SDKs em seu sistema operacional. Com ele conseguimos instalar SDKs para a JVM, como Java, Groovy, Scala, Kotlin e Ceilão. Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x e muitos outros também são suportados.

Instalação

Em sistemas UNIX-like utilize os comandos abaixo:

$ curl -s "https://get.sdkman.io" | bash

siga as instruções que aparecerão na tela para completar a instalaçao. Depois disso, abra um novo terminal e execute este comando:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

para verificar se a instalação foi realizada com sucesso, teste a cli com o comando de verificação de versão:

$ sdk version

se tudo ocorreu corretamente, você deve receber uma resposta como esta:

SDKMAN 5.8.2+493

Comandos

sdk list java - listar todas as versões disponíveis de SDKs java, instaladas e qual está em uso

$ 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    | installed  | 14.0.1.hs-adpt      
               |     | 13.0.2.j9    | adpt    |            | 13.0.2.j9-adpt      
               |     | 13.0.2.hs    | adpt    | installed  | 13.0.2.hs-adpt      
               |     | 12.0.2.j9    | adpt    |            | 12.0.2.j9-adpt      
               |     | 12.0.2.hs    | adpt    | installed  | 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    | installed  | 8.0.252.hs-adpt     
 Amazon        |     | 11.0.7       | amzn    |            | 11.0.7-amzn         
               |     | 8.0.252      | amzn    |            | 8.0.252-amzn        
 Azul Zulu     |     | 14.0.1       | zulu    |            | 14.0.1-zulu         
               |     | 13.0.3       | zulu    |            | 13.0.3-zulu         
               |     | 13.0.3.fx    | zulu    |            | 13.0.3.fx-zulu      
               |     | 12.0.2       | zulu    |            | 12.0.2-zulu         
               |     | 11.0.7       | zulu    |            | 11.0.7-zulu         
               |     | 11.0.7.fx    | zulu    |            | 11.0.7.fx-zulu      
               |     | 10.0.2       | zulu    |            | 10.0.2-zulu         
               |     | 9.0.7        | zulu    |            | 9.0.7-zulu          
               |     | 8.0.252      | zulu    |            | 8.0.252-zulu        
               |     | 8.0.252.fx   | zulu    |            | 8.0.252.fx-zulu     
               |     | 8.0.232.fx   | zulu    |            | 8.0.232.fx-zulu     
               |     | 7.0.262      | zulu    |            | 7.0.262-zulu        
               |     | 6.0.119      | zulu    |            | 6.0.119-zulu        
 BellSoft      |     | 14.0.1.fx    | librca  |            | 14.0.1.fx-librca    
               |     | 14.0.1       | librca  |            | 14.0.1-librca       
               |     | 13.0.2.fx    | librca  |            | 13.0.2.fx-librca    
               |     | 13.0.2       | librca  |            | 13.0.2-librca       
               |     | 12.0.2       | librca  |            | 12.0.2-librca       
               |     | 11.0.7.fx    | librca  |            | 11.0.7.fx-librca    
               |     | 11.0.7       | librca  |            | 11.0.7-librca       
               |     | 8.0.252.fx   | librca  |            | 8.0.252.fx-librca   
               |     | 8.0.252      | librca  |            | 8.0.252-librca      
 GraalVM       |     | 20.1.0.r11   | grl     |            | 20.1.0.r11-grl      
               |     | 20.1.0.r8    | grl     |            | 20.1.0.r8-grl       
               |     | 20.0.0.r11   | grl     |            | 20.0.0.r11-grl      
               |     | 20.0.0.r8    | grl     |            | 20.0.0.r8-grl       
               |     | 19.3.1.r11   | grl     |            | 19.3.1.r11-grl      
               |     | 19.3.1.r8    | grl     |            | 19.3.1.r8-grl       
 Java.net      |     | 15.ea.26     | open    |            | 15.ea.26-open       
               |     | 14.0.1       | open    |            | 14.0.1-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        
 SAP           |     | 14.0.1       | sapmchn |            | 14.0.1-sapmchn      
               |     | 13.0.2       | sapmchn |            | 13.0.2-sapmchn      
               |     | 12.0.2       | sapmchn |            | 12.0.2-sapmchn      
               |     | 11.0.7       | sapmchn |            | 11.0.7-sapmchn      
================================================================================
Use the Identifier for installation:

    $ sdk install java 11.0.3.hs-adpt
================================================================================

sdk list candidate version - instala uma versão especifica de um sdk

$ sdk install java 14.0.1.hs-adpt

Downloading: java 14.0.1.hs-adpt

In progress...

######################################################################## 100.0%

Installing: java 14.0.1.hs-adpt
Done installing!

após a instalação, o software te pergunta se quer definir esse sdk como padrão:

Do you want java 14.0.1.hs-adpt to be set as default? (Y/n):

sdk uninstall candidate version - remover uma versão especifica instalada:

$ sdk uninstall java 14.0.1.hs-adpt

sdk use candidate version - usar uma versão específica de sdk no shell atual:

$ sdk use java 14.0.1.hs-adpt

sdk home candidate version - definir o caminho absoluto do sdk (ex. JAVA_HOME) para apontar para uma versão de sdk específica:

$ sdk home java 14.0.1.hs-adpt
/home/gustavoclay/.sdkman/candidates/java/14.0.1.hs-adpt

sdk default candidate version - usar uma versão específica de sdk como padrão:

$ sdk default java 14.0.1.hs-adpt

Para mais informações e outras opções sobre a SdkMan, acesso a documentação:

sdkman.io/usage

comments powered by Disqus