Instalando no Ubuntu/macOS

Um guia passo a passo para instalar e gerenciar múltiplas versões do JDK usando SDKMAN! no Ubuntu, incluindo configuração e verificação do ambiente.

Introdução: O Desafio das Múltiplas Versões do Java

Um dos desafios mais comuns para desenvolvedores Java é gerenciar diferentes versões da plataforma. Projetos diferentes podem exigir versões diferentes do Java, e instalar/desinstalar manualmente essas versões pode ser trabalhoso e propenso a erros. É aqui que o SDKMAN! se torna uma ferramenta indispensável.

O SDKMAN! (Software Development Kit Manager) é um gerenciador de versões que simplifica radicalmente a instalação, configuração e alternância entre diferentes versões do JDK e outras ferramentas de desenvolvimento. Ele resolve o problema de ter várias distribuições instaladas na máquina de forma organizada e eficiente.


Por Que Usar SDKMAN!

Vantagens Principais

  1. Gestão Unificada: Uma única ferramenta para múltiplas versões do JDK

  2. Alternância Fácil: Troca rápida entre versões para diferentes projetos

  3. Instalação Simplificada: Download e configuração automáticos

  4. Atualizações Automáticas: Facilita a atualização para versões mais recentes

  5. Multiplataforma: Funciona igualmente bem no Ubuntu, macOS e Windows (com WSL)

Site Oficial e Recursos


Instalação do SDKMAN!

Para Ubuntu

A instalação do SDKMAN! é incrivelmente simples. Basta abrir um terminal e executar:

Saída esperada

Processo de Instalação Detalhado

Durante a instalação, o SDKMAN! executa automaticamente:

  1. Procura por instalações anteriores

  2. Verifica dependências (unzip, zip, tar, curl, sed)

  3. Cria diretórios de distribuição

  4. Baixa e extrai os arquivos necessários

  5. Configura os perfis do shell (.bashrc e .zshrc)

  6. Define a versão atual


Verificando a Instalação do Java

Antes de instalar qualquer versão do Java via SDKMAN!, é importante verificar se já existe alguma instalação no sistema:

Esta etapa é importante para entender o estado atual do sistema antes de proceder com a instalação via SDKMAN!.


Explorando as Opções de Instalação

O SDKMAN! oferece acesso a uma vasta gama de distribuições e versões do Java. Para ver todas as opções disponíveis:

O comando acima mostrará uma tabela abrangente com:

  • Vendor: Fabricante (Temurin, Corretto, Oracle, etc.)

  • Use: Se está instalada ou é a padrão

  • Version: Versão do Java

  • Dist: Distribuição (tem, amzn, oracle, etc.)

  • Status: Estado da instalação

  • Identifier: Identificador único para instalação

A lista é extensa e inclui distribuições de diversos fornecedores:

  • Temurin (Eclipse Foundation - nossa escolha recomendada)

  • Corretto (Amazon)

  • Oracle (Oracle Corporation)

  • Microsoft (Microsoft Build)

  • Azul Zulu (Azul Systems)

  • Liberica (BellSoft)

  • E muitas outras...


Instalando o JDK com SDKMAN!

Escolhendo a Distribuição e Versão

Para este curso, utilizaremos o Eclipse Temurin por ser uma distribuição gratuita, de alta qualidade e com suporte de longo prazo (LTS). Vamos instalar duas versões:

  1. Java 17 LTS (17.0.18-tem) - Para compatibilidade nos estudos

  2. Java 25 LTS (25.0.2-tem) - Versão mais recente

Passo 1: Instalar Java 17

Processo de instalação

  1. Download do pacote

  2. Verificação de integridade

  3. Repackaging

  4. Instalação

  5. Configuração como versão padrão

Saída durante a instalação

Passo 2: Instalar Java 25

Observação

O SDKMAN! automaticamente define a última versão instalada como padrão.


Resolvendo Problemas Comuns

Cenário: Comando java não funciona após instalação via SDKMAN!

Às vezes, mesmo após instalar via SDKMAN!, o sistema pode não reconhecer o comando java. Isso geralmente acontece porque:

  1. O SDKMAN! não foi carregado no shell atual

  2. Há conflito com instalações do sistema

Solução

Após instalar o JRE do sistema, o SDKMAN! conseguirá gerenciar corretamente as versões.

Verificando a Instalação do Compilador

Além do runtime (JRE), é essencial verificar se o compilador está instalado:


Gerenciando Múltiplas Versões

Listando Versões Instaladas

Símbolos importantes

  • >>> indica a versão padrão atual

  • installed mostra quais versões estão instaladas

Alterando a Versão Padrão

Verificando a Versão Atual


Configuração do Ambiente

Variável JAVA_HOME

O SDKMAN! configura automaticamente a variável JAVA_HOME apontando para a versão atual:

Configuração para IDEs

Para configurar IDEs como IntelliJ IDEA, Eclipse ou VS Code:

  1. IntelliJ IDEA:

    • File → Project Structure → SDKs

    • Add New SDK → JDK

    • Navegue até ~/.sdkman/candidates/java/versao-desejada

  2. VS Code:

    • Abra Command Palette (Ctrl+Shift+P)

    • "Java: Configure Java Runtime"

    • Selecione o JDK do SDKMAN!


Comandos Essenciais do SDKMAN!

Comando
Descrição
Exemplo

sdk list java

Lista todas as versões disponíveis

sdk list java

sdk install

Instala uma versão específica

sdk install java 17.0.18-tem

sdk uninstall

Remove uma versão instalada

sdk uninstall java 25.0.2-tem

sdk use

Usa uma versão no shell atual

sdk use java 17.0.18-tem

sdk default

Define versão padrão para todos shells

sdk default java 17.0.18-tem

sdk current

Mostra versão atual

sdk current java

sdk upgrade

Atualiza o SDKMAN!

sdk upgrade

sdk flush

Limpa cache e arquivos temporários

sdk flush archives


Boas Práticas e Dicas

1. Instale Apenas o Necessário

  • Mantenha apenas as versões que realmente usa

  • Versões antigas ocupam espaço em disco

2. Use .sdkmanrc para Projetos

Crie um arquivo .sdkmanrc na raiz do projeto:

E use:

3. Mantenha o SDKMAN! Atualizado

4. Solução de Problemas

  • Comandos não encontrados Solução: Execute source "$HOME/.sdkman/bin/sdkman-init.sh"

  • Instalação falha Solução: Verifique conexão de internet e espaço em disco

  • Conflito com instalações do sistema Solução: Use sdk default para definir a precedência


Conclusão: Um Ambiente Java Bem Configurado

Com o SDKMAN! instalado e configurado, você tem:

  1. Controle total sobre as versões do Java no seu sistema

  2. Capacidade de alternar entre versões para diferentes projetos

  3. Instalação simplificada de novas versões e distribuições

  4. Ambiente consistente entre diferentes sistemas operacionais

Para este curso, utilizaremos principalmente o Java 17 LTS (17.0.18-tem) por ser uma versão estável, amplamente adotada no mercado e com excelente suporte. O Java 25 foi instalado para demonstração e para que você possa experimentar as funcionalidades mais recentes quando desejar.

Lembre-se: a habilidade de gerenciar múltiplas versões do Java é uma competência valiosa para qualquer desenvolvedor Java, especialmente em ambientes onde diferentes projetos podem exigir diferentes versões da plataforma. O SDKMAN! torna esse gerenciamento simples, eficiente e livre de erros.

Last updated