Instalando múltiplos JDKs no Ubuntu com SDKMAN!

entre outros SDKs da plataforma Java

SDKMAN possibilita fácil instalação de diversas versões de JDKs.

Conteúdo

  1. Instalando SDKMAN!
  2. Instalando o JDK
  3. Alternando entre as versões
  4. Removendo JDKs
  5. Referências

Instalando SDKMAN!

Instale cURL, unzip e zip

sudo apt update && sudo apt install curl unzip zip

Baixe e instale o script do SKDMAN!

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

Carregue o script ou reabra o terminal

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

Verifique se a instalação foi bem sucedida

sdk version

Exemplo de saída exibindo a versão do SDKMAN! na última linha.

==== BROADCAST =================================================================
* 2021-02-19: grails 4.0.8 available on SDKMAN!
* 2021-02-18: springboot 2.4.3 available on SDKMAN!
* 2021-02-18: springboot 2.3.9.RELEASE available on SDKMAN!
================================================================================

SDKMAN 5.11.0+644

Instalando o JDK

Listando as versões do JDK

sdk ls java

Saída parcial da lista de versões disponíveis de JDK entre várias distribuidoras.

================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 GraalVM       |     | 21.0.0.2.r11 | grl     |            | 21.0.0.2.r11-grl
               |     | 21.0.0.2.r8  | grl     |            | 21.0.0.2.r8-grl
               |     | 20.3.1.2.r11 | grl     |            | 20.3.1.2.r11-grl
               |     | 20.3.1.2.r8  | grl     |            | 20.3.1.2.r8-grl
               |     | 19.3.5.r11   | grl     |            | 19.3.5.r11-grl
               |     | 19.3.5.r8    | grl     |            | 19.3.5.r8-grl
 Java.net      |     | 17.ea.10     | open    |            | 17.ea.10-open
               |     | 17.ea.9      | open    |            | 17.ea.9-open
               |     | 17.ea.2.pma  | open    |            | 17.ea.2.pma-open
               |     | 17.ea.2.lm   | open    |            | 17.ea.2.lm-open
               |     | 17.ea.1.pma  | open    |            | 17.ea.1.pma-open
               |     | 16.ea.36     | open    |            | 16.ea.36-open
               |     | 15.0.2       | open    |            | 15.0.2-open
               |     | 11.0.10      | open    |            | 11.0.10-open
               |     | 11.0.2       | open    |            | 11.0.2-open
               |     | 8.0.282      | open    |            | 8.0.282-open
               |     | 8.0.265      | open    |            | 8.0.265-open
================================================================================
Use the Identifier for installation:

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

Instalando a primeira versão

Verifique a versão desejada na saída anterior e copie o identificador da coluna Identifier.

Abaixo, instalo a versão 11.0.10 da JDK distribuída por Java.net.

sdk install java 11.0.10-open

Saída exibindo a instalação bem sucedida da versão escolhida.

Downloading: java 11.0.10-open

In progress...

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

Repackaging Java 11.0.10-open...

Done repackaging...

Installing: java 11.0.10-open
Done installing!

Exiba a versão do JDK para verificar a instalação.

java -version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment 18.9 (build 11.0.10+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9, mixed mode)

Instalando a segunda versão do JDK

Abaixo escolho a versão 8.

sdk install java 8.0.282-open

Completada a instalação você será perguntado se deseja que a nova instalação seja a JDK padrão.

Digite Y ou N e pressione Enter caso queira ou não, respectivamente.

Installing: java 8.0.282-open
Done installing!

Do you want java 8.0.282-open to be set as default? (Y/n): N

Caso tenha digitado N a versão a ser utilizada por padrão será a da primeira instalação.

java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment 18.9 (build 11.0.10+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9, mixed mode)

Alternando entre as versões

Trocar a versão para a sessão atual

Para utilizar uma versão alternativa da JDK (versão não configurada como padrão) execute sdk use <sdk> <version> informando a versão como o último argumento.

sdk use java 8.0.282-open
Using java version 8.0.282-open in this shell.

A versão 8 será então utilizada apenas nesta sessão do shell.

java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

Trocar a versão padrão

Para trocar a versão em definitivo, execute sdk default <sdk> <version>.

sdk default java 8.0.282-open

Removendo JDKs

Para remover basta executar sdk rm <sdk> <version>.

sdk rm java 8.0.282-open
Uninstalling java 8.0.282-open

⚠️ A remoção acima apenas desinstala a JDK, para remover o pacote baixado é necessário excluí-lo no diretório ~/.sdkman/archives.

Referências

Escrito por Caio Santesso.

Comentários

  • Conteúdo dos posts, exceto onde indicado contrário, licenciado sob a licença CC BY-SA 4.0 .