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.
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
.