Java Essencial: Preparação do ambiente com JDK e variáveis de ambiente

Capítulo 1

Tempo estimado de leitura: 7 minutos

+ Exercício

O que é o JDK e como escolher a distribuição (LTS vs não-LTS)

O JDK (Java Development Kit) é o kit de desenvolvimento do Java. Ele inclui, entre outros componentes, o compilador javac (transforma .java em .class) e o executador java (roda o bytecode). Para preparar o ambiente, você precisa instalar um JDK e garantir que o sistema operacional consiga encontrá-lo via variáveis de ambiente.

LTS (Long-Term Support) é uma versão com suporte por mais tempo, indicada para a maioria dos cenários (estudo com estabilidade, projetos corporativos, servidores). Não-LTS recebe novidades mais cedo, mas tem ciclo de suporte menor; é útil para experimentar recursos recentes.

  • Recomendação prática: se você não tem um motivo específico para usar não-LTS, escolha uma versão LTS.
  • Distribuição do JDK: existem várias (por exemplo, Eclipse Temurin/Adoptium, Oracle JDK, Amazon Corretto, Microsoft Build of OpenJDK). Em geral, para aprendizado e uso geral, qualquer distribuição OpenJDK confiável atende; o importante é manter consistência e saber onde ela foi instalada.

Instalação do JDK (passo a passo por sistema)

Windows

  1. Baixe o instalador do JDK escolhido (MSI/EXE) e execute.
  2. Anote o caminho de instalação (ex.: C:\Program Files\Java\jdk-21).
  3. Após instalar, abra um novo terminal (Prompt/PowerShell) para testar.

macOS

  1. Instale o JDK (via pacote .pkg do fornecedor ou via gerenciador como Homebrew, se você já usa).
  2. Em instalações padrão, os JDKs ficam em /Library/Java/JavaVirtualMachines/.
  3. Abra um novo Terminal para testar.

Linux

  1. Instale via gerenciador de pacotes da sua distribuição (ex.: apt, dnf, pacman) ou usando tarball do fornecedor.
  2. Se usar pacotes do sistema, o Java costuma ser gerenciado por alternativas (ex.: update-alternatives).
  3. Abra um novo terminal para testar.

Verificando a instalação via terminal

Depois de instalar, valide se o sistema encontra os executáveis java e javac e se a versão corresponde ao JDK instalado.

java -version
javac -version

O comando java -version imprime informações da JVM. O comando javac -version confirma que o compilador está disponível (isso diferencia JDK de apenas JRE em ambientes antigos).

Checando qual executável está sendo usado

Quando há múltiplos JDKs, é comum o terminal apontar para outro caminho. Use:

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

  • Windows (PowerShell): where java e where javac
  • macOS/Linux: which java e which javac

Isso ajuda a identificar se o PATH está apontando para o JDK correto.

Configuração de variáveis de ambiente: JAVA_HOME e PATH

JAVA_HOME é uma variável que aponta para a pasta raiz do JDK. Muitas ferramentas (build tools, IDEs, scripts) usam JAVA_HOME para localizar o Java. Já o PATH é uma lista de pastas onde o sistema procura executáveis; ao incluir %JAVA_HOME%\bin (Windows) ou $JAVA_HOME/bin (Unix), você consegue rodar java e javac de qualquer diretório.

Windows: configurando JAVA_HOME e PATH

  1. Abra ConfiguraçõesSistemaSobreConfigurações avançadas do sistema (ou pesquise por “Variáveis de ambiente”).
  2. Clique em Variáveis de Ambiente.
  3. Em Variáveis do sistema, clique em Novo... e crie:
    • Nome: JAVA_HOME
    • Valor: caminho do JDK (ex.: C:\Program Files\Java\jdk-21)
  4. Em Variáveis do sistema, selecione PathEditarNovo e adicione:
    • %JAVA_HOME%\bin
  5. Abra um novo terminal e valide:
    echo %JAVA_HOME%
    java -version
    javac -version

Dica: se houver entradas antigas no Path (ex.: C:\Program Files\Java\jdk-17\bin), a ordem importa. O Windows usa a primeira ocorrência encontrada.

macOS: configurando JAVA_HOME e PATH

No macOS, é comum definir JAVA_HOME no shell (zsh/bash). O comando /usr/libexec/java_home ajuda a apontar para um JDK instalado.

  1. Descubra o caminho do JDK:
    /usr/libexec/java_home -V
  2. Edite o arquivo de configuração do seu shell:
    • zsh: ~/.zshrc
    • bash: ~/.bash_profile ou ~/.bashrc
  3. Adicione (ajuste conforme sua versão):
    export JAVA_HOME=$(/usr/libexec/java_home -v 21)
    export PATH=$JAVA_HOME/bin:$PATH
  4. Recarregue o shell:
    source ~/.zshrc
  5. Valide:
    echo $JAVA_HOME
    java -version
    javac -version

Observação: se você não fixar a versão com -v, o sistema pode escolher automaticamente outra versão instalada.

Linux: configurando JAVA_HOME e PATH

No Linux, você pode configurar por usuário (no shell) ou globalmente (para todos os usuários). A forma mais simples é por usuário.

  1. Descubra onde o Java está instalado:
    • Ver caminho do executável: which java
    • Resolver symlinks: readlink -f $(which java)
  2. O JAVA_HOME deve apontar para a pasta raiz do JDK (acima de bin). Exemplo: se java está em /usr/lib/jvm/jdk-21/bin/java, então JAVA_HOME é /usr/lib/jvm/jdk-21.
  3. Edite o arquivo do seu shell:
    • bash: ~/.bashrc
    • zsh: ~/.zshrc
  4. Adicione:
    export JAVA_HOME=/usr/lib/jvm/jdk-21
    export PATH=$JAVA_HOME/bin:$PATH
  5. Recarregue:
    source ~/.bashrc
  6. Valide:
    echo $JAVA_HOME
    java -version
    javac -version

Alternativas (quando aplicável): em distribuições baseadas em Debian/Ubuntu, você pode gerenciar múltiplos JDKs com update-alternatives para selecionar o padrão do sistema.

Checklist de validação do ambiente

  • 1. Java responde no terminal: java -version executa sem erro.
  • 2. Compilador disponível: javac -version executa sem erro.
  • 3. Versões coerentes: java -version e javac -version apontam para a mesma versão principal (ex.: 21 e 21).
  • 4. Caminho correto no PATH: where java (Windows) ou which java (macOS/Linux) aponta para o JDK esperado.
  • 5. JAVA_HOME definido: echo %JAVA_HOME% (Windows) ou echo $JAVA_HOME (macOS/Linux) retorna a pasta raiz do JDK.
  • 6. PATH inclui bin do JAVA_HOME: confirme que .../bin está no PATH e vem antes de instalações antigas.

Resolução de problemas comuns

Problema: “java não é reconhecido...” (Windows) / “command not found” (macOS/Linux)

  • Causa provável: PATH não inclui o diretório bin do JDK.
  • Como resolver: adicione %JAVA_HOME%\bin (Windows) ou $JAVA_HOME/bin (macOS/Linux) ao PATH e abra um novo terminal.

Problema: versão errada aparece no terminal

  • Causa provável: há múltiplos JDKs instalados e o PATH está priorizando outro.
  • Como diagnosticar:
    • Windows: where java e where javac
    • macOS/Linux: which java e which javac
  • Como resolver: reordene o PATH para que o bin do JDK desejado venha primeiro; remova entradas antigas se não forem necessárias.

Problema: java e javac apontam para versões diferentes

  • Causa provável: PATH misturado (por exemplo, java vem de um JRE/JDK e javac de outro).
  • Como resolver: garanta que o PATH aponte para um único JAVA_HOME e que $JAVA_HOME/bin (ou %JAVA_HOME%\bin) seja a entrada efetiva usada.

Problema: múltiplos JDKs instalados e necessidade de alternar

  • Windows: altere JAVA_HOME e ajuste o PATH (ou use scripts/atalhos para alternar).
  • macOS: use /usr/libexec/java_home -V para listar e fixe a versão no JAVA_HOME com -v.
  • Linux: considere update-alternatives (quando disponível) ou ajuste JAVA_HOME no shell por projeto.

Problema: permissões ao instalar/rodar (Linux/macOS)

  • Causa provável: instalação em diretório sem permissão, ou execução bloqueada por políticas do sistema.
  • Como resolver: instale via gerenciador de pacotes (recomendado) ou ajuste permissões corretamente; evite colocar o JDK em pastas que exigem privilégios sem necessidade. Em macOS, se o sistema bloquear o instalador, verifique permissões em Segurança e Privacidade.

Teste prático: compilar e executar um programa Java no terminal

1) Criar o arquivo Hello.java

Crie uma pasta de testes (qualquer lugar) e dentro dela crie o arquivo Hello.java com o conteúdo abaixo:

public class Hello {    public static void main(String[] args) {        System.out.println("Ambiente Java OK!");    }}

2) Compilar com javac

javac Hello.java

Se der certo, aparecerá um arquivo Hello.class na mesma pasta.

3) Executar com java

java Hello

Saída esperada:

Ambiente Java OK!

Erros comuns nesse teste

  • “Could not find or load main class”: você pode estar em outra pasta; confirme que está no diretório onde está o Hello.class e execute java Hello (sem .class).
  • Erro de compilação: confirme que o arquivo se chama Hello.java e que a classe pública é Hello (mesmo nome e mesma capitalização).
  • Caracteres estranhos/encoding: se copiou de algum lugar, reescreva o arquivo em um editor simples e salve como UTF-8.

Agora responda o exercício sobre o conteúdo:

Ao configurar o ambiente Java, qual combinação descreve corretamente o papel de JAVA_HOME e do PATH para executar java e javac no terminal?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

JAVA_HOME indica a pasta raiz do JDK, usada por ferramentas e scripts. Já o PATH deve conter JAVA_HOME/bin para que java e javac sejam encontrados no terminal em qualquer diretório.

Próximo capitúlo

Java Essencial: IDE e fluxo de trabalho com projetos Java simples

Arrow Right Icon
Capa do Ebook gratuito Java Essencial: Fundamentos da Linguagem e do Ecossistema (JDK, IDE, Maven)
6%

Java Essencial: Fundamentos da Linguagem e do Ecossistema (JDK, IDE, Maven)

Novo curso

18 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.