W3docs

Como Instalar o Java (JDK) no Windows, macOS e Linux

Instruções passo a passo para baixar e instalar o Java Development Kit (JDK) no Windows, macOS e Linux, e verificar a instalação.

Antes de escrever uma única linha de Java, você precisa ter o JDK — o Java Development Kit — instalado na sua máquina. O JDK inclui tanto o compilador (javac) quanto o runtime (java), portanto uma única instalação fornece tudo o que você precisa para compilar e executar código.

Este capítulo orienta você na escolha de uma distribuição, na instalação em cada sistema operacional principal, na verificação de que a instalação funcionou e na configuração do JAVA_HOME.

JDK, JRE e JVM

Essas três siglas confundem quase todos os iniciantes, por isso vale a pena esclarecê-las antes de instalar qualquer coisa:

  • JVM (Java Virtual Machine) — o mecanismo que realmente executa seu programa compilado. Ela carrega bytecode e o executa no hardware em que você está.
  • JRE (Java Runtime Environment) — a JVM mais a biblioteca de classes padrão. É suficiente para executar programas Java, mas não para compilá-los.
  • JDK (Java Development Kit) — o JRE mais as ferramentas de desenvolvimento: o compilador javac, o REPL jshell, javadoc e muito mais.

Você quer o JDK. Downloads de JRE independentes não são mais publicados para versões modernas, portanto instalar um JDK é o caminho normal mesmo que você apenas execute programas.

Informação
O "Java 8" costumava ser dividido em downloads separados de JRE e JDK. A partir do Java 11, existe apenas o JDK — ele inclui tudo, portanto não vá procurar um runtime separado.

Escolhendo uma distribuição do JDK

O JDK da Oracle não é a única opção e, atualmente, raramente é a mais conveniente. Várias compilações gratuitas e de código aberto do OpenJDK são amplamente utilizadas:

  • Eclipse Temurin — o padrão para a maioria das equipes; fornece binários pré-compilados para todas as plataformas.
  • Amazon Corretto — mantido pela AWS; compilações com suporte de longo prazo.
  • Microsoft Build of OpenJDK — compilações com suporte da Microsoft, bem integradas com o Azure.
  • Azul Zulu — ampla cobertura de versões, incluindo versões mais antigas.
  • Oracle JDK — a própria compilação da Oracle; gratuita sob os Termos e Condições Sem Taxa para a maioria dos usos.

Todas implementam a mesma linguagem e biblioteca padrão. Para este tutorial, escolha qualquer versão LTS — Java 21 se tiver escolha, caso contrário Java 17.

Instalar no Windows

  1. Baixe o instalador Windows x64 (.msi) para o JDK escolhido no site da distribuição.
  2. Clique duas vezes no instalador e aceite os padrões. O instalador geralmente registra java e javac no seu PATH automaticamente.
  3. Abra uma nova janela do Prompt de Comando ou do PowerShell (os terminais existentes não verão o novo PATH).
  4. Execute os comandos de verificação abaixo.

Se os comandos não forem encontrados, será necessário adicionar o diretório bin do JDK ao seu PATH manualmente em Configurações → Sistema → Sobre → Configurações avançadas do sistema → Variáveis de Ambiente.

Instalar no macOS

O caminho mais fácil é o Homebrew:

brew install --cask temurin@21

Substitua 21 pela versão LTS desejada. O Homebrew instala o JDK em /Library/Java/JavaVirtualMachines/ e o configura para que java e javac funcionem em qualquer novo terminal.

Sem o Homebrew, baixe o instalador .pkg no site da distribuição e execute-o. Pode ser necessário abrir um novo terminal depois.

Instalar no Linux

No Debian e Ubuntu:

sudo apt update
sudo apt install openjdk-21-jdk

No Fedora, RHEL e CentOS Stream:

sudo dnf install java-21-openjdk-devel

No Arch:

sudo pacman -S jdk21-openjdk

Se você precisar de um fornecedor ou versão específica que não esteja empacotado pela sua distribuição, o SDKMAN! é a ferramenta padrão para gerenciar múltiplos JDKs em uma única máquina Linux ou macOS.

Verificar a instalação

Abra um novo terminal e execute:

java -version
javac -version

Você deverá ver uma saída semelhante a:

openjdk version "21.0.4" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode)

javac 21.0.4

Se ambos os comandos exibirem suas versões, o JDK está pronto. Se você vir "command not found" (ou "java is not recognized…" no Windows), o diretório bin do JDK não está no seu PATH — verifique novamente a etapa de instalação ou abra uma nova sessão de terminal.

Definir o JAVA_HOME (opcional, mas comum)

Muitas ferramentas de build e IDEs procuram uma variável de ambiente chamada JAVA_HOME que aponta para o diretório raiz da instalação do JDK. Defini-la explicitamente evita confusão quando você tem vários JDKs instalados.

No macOS e Linux, adicione a exportação ao perfil do seu shell (~/.zshrc, ~/.bashrc, etc.):

export JAVA_HOME="$(/usr/libexec/java_home -v 21)"    # macOS
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk          # typical Linux path
export PATH="$JAVA_HOME/bin:$PATH"

No Windows, defina JAVA_HOME pelo diálogo de Variáveis de Ambiente e acrescente %JAVA_HOME%\bin ao início do PATH.

Executando mais de um JDK

É comum precisar de versões diferentes do Java para projetos diferentes — um aplicativo no Java 17 e outro no Java 21. Instalar vários JDKs lado a lado é possível; o detalhe é que apenas um pode ser o primeiro no seu PATH por vez.

A maneira mais limpa de alternar entre eles é o SDKMAN! (macOS e Linux):

sdk install java 21.0.4-tem    # install Temurin 21
sdk install java 17.0.12-tem   # install Temurin 17
sdk use java 17.0.12-tem       # switch this shell to 17
sdk default java 21.0.4-tem    # make 21 the default everywhere

sdk use altera a versão apenas para o terminal atual, o que é perfeito para alternância por projeto. No Windows, a ferramenta equivalente é o jabba ou simplesmente apontar JAVA_HOME para a versão desejada.

O que vem a seguir

Com o JDK instalado, o próximo capítulo — Configurando um Ambiente de Desenvolvimento Java — aborda IDEs e estrutura de projetos. Depois disso, Hello World em Java orienta você na compilação e execução do seu primeiro programa com os comandos javac e java que você acabou de verificar.

Prática

Prática
Quais dessas são ferramentas de desenvolvimento que o JDK adiciona além do JRE? (Selecione todas que se aplicam.)
Quais dessas são ferramentas de desenvolvimento que o JDK adiciona além do JRE? (Selecione todas que se aplicam.)
Was this page helpful?