TP1.1 — Instalação do Java JDK 17
Objetivos
Este exercício prático permitirá que você:
- Instale o JDK 17 (Java Development Kit) no seu sistema operacional
- Configure as variáveis de ambiente (
JAVA_HOME,PATH) - Verifique a instalação com os comandos
java,javacewhich java - Entenda a diferença entre JDK, JRE e as diferentes distribuições
Duração estimada: 20-30 minutos
Por que Java 17?
| Motivo | Detalhe |
|---|---|
| LTS (Long Term Support) | Suporte de longo prazo pela Oracle e comunidade (até 2029+) |
| Spring Boot 3.x | Versão mínima exigida pelo Spring Boot 3 |
| Funcionalidades modernas | Records, sealed classes, pattern matching, text blocks |
| Estabilidade | Versão comprovada em produção desde 2021 |
- Eclipse Temurin (Adoptium) — Recomendado, gratuito, open source
- Oracle JDK — Gratuito para desenvolvimento, licença comercial em produção
- Amazon Corretto — Gratuito, mantido pela Amazon
- Azul Zulu — Gratuito, certificado
Recomendamos o Eclipse Temurin para este curso.
Instalação no Windows
🪟 Clique aqui para instalação no Windows (modo gráfico)
Passo 1: Baixar o JDK 17
- Acesse https://adoptium.net/
- Selecione:
- Operating System: Windows
- Architecture: x64
- Package Type: JDK
- Version: 17 (LTS)
- Clique em "Latest LTS Release" para baixar o arquivo
.msi
Passo 2: Instalar o JDK
- Dê um duplo clique no arquivo
.msibaixado - Siga o assistente de instalação
- IMPORTANTE: Durante a instalação, marque estas opções:
- ✅ Add to PATH
- ✅ Set JAVA_HOME variable
- ✅ Associate .jar files
┌──────────────────────────────────────┐
│ Eclipse Temurin JDK 17 Setup │
│ │
│ ✅ Add to PATH │
│ ✅ Set JAVA_HOME variable │
│ ✅ Associate .jar │
│ │
│ Install to: C:\Program Files\ │
│ Eclipse Adoptium\jdk-17.0.x.x\ │
│ │
│ [Install] │
└──────────────────────────────────────┘
Passo 3: Verificar a instalação
Feche todos os terminais abertos, depois abra um novo PowerShell ou CMD:
java -version
Resultado esperado:
openjdk version "17.0.13" 2024-10-15
OpenJDK Runtime Environment Temurin-17.0.13+11 (build 17.0.13+11)
OpenJDK 64-Bit Server VM Temurin-17.0.13+11 (build 17.0.13+11, mixed mode, sharing)
javac -version
Resultado esperado:
javac 17.0.13
Passo 4: Verificar JAVA_HOME
$env:JAVA_HOME
Resultado esperado:
C:\Program Files\Eclipse Adoptium\jdk-17.0.13.11-hotspot
where.exe java
Resultado esperado:
C:\Program Files\Eclipse Adoptium\jdk-17.0.13.11-hotspot\bin\java.exe
Se JAVA_HOME não for definido automaticamente
- Menu Iniciar → digite "variáveis de ambiente"
- Clique em "Editar variáveis de ambiente do sistema"
- Clique em "Variáveis de ambiente..."
- Em Variáveis do sistema, clique em Novo:
- Nome:
JAVA_HOME - Valor:
C:\Program Files\Eclipse Adoptium\jdk-17.0.13.11-hotspot
- Nome:
- Encontre a variável
Path→ Editar → Novo:%JAVA_HOME%\bin
- OK em tudo → Reinicie o terminal
🪟 Instalação Windows com Chocolatey (alternativa rápida)
Se você tem o Chocolatey instalado:
choco install temurin17
Verificação:
java -version
javac -version
$env:JAVA_HOME
where.exe java
O Chocolatey configura automaticamente o JAVA_HOME e o PATH.
🪟 Instalação Windows com Scoop (alternativa rápida)
Se você tem o Scoop instalado:
scoop bucket add java
scoop install temurin17-jdk
Verificação:
java -version
javac -version
$env:JAVA_HOME
where.exe java
Instalação no macOS
🍎 Instalação macOS com Homebrew (Recomendado)
Passo 1: Instalar o Homebrew (se ainda não tiver)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Passo 2: Instalar o JDK 17
brew install --cask temurin@17
Passo 3: Verificar a instalação
java -version
Resultado esperado:
openjdk version "17.0.13" 2024-10-15
OpenJDK Runtime Environment Temurin-17.0.13+11 (build 17.0.13+11)
OpenJDK 64-Bit Server VM Temurin-17.0.13+11 (build 17.0.13+11, mixed mode)
javac -version
Resultado esperado:
javac 17.0.13
Passo 4: Verificar o caminho e JAVA_HOME
which java
Resultado esperado:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java
/usr/libexec/java_home -v 17
Resultado esperado:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
Passo 5: Configurar JAVA_HOME (permanente)
Abra seu arquivo de perfil do shell:
nano ~/.zshrc
Adicione ao final:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
Recarregue:
source ~/.zshrc
Verifique:
echo $JAVA_HOME
Resultado esperado:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
🍎 Instalação macOS com SDKMAN! (alternativa)
Instalar o SDKMAN!
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Listar as versões Java 17 disponíveis
sdk list java | grep tem
Resultado (exemplo):
Temurin | | 17.0.13 | tem | installed | 17.0.13-tem
Instalar
sdk install java 17.0.13-tem
Verificar
java -version
which java
echo $JAVA_HOME
Permite instalar múltiplas versões do Java e alternar facilmente:
sdk use java 17.0.13-tem # Usar Java 17
sdk use java 21.0.5-tem # Alternar para Java 21
sdk default java 17.0.13-tem # Definir Java 17 como padrão
🍎 Instalação macOS manual (download direto)
Passo 1: Baixar
- Acesse https://adoptium.net/
- Selecione macOS → aarch64 (Apple Silicon M1/M2/M3) ou x64 (Intel)
- Baixe o arquivo
.pkg
Passo 2: Instalar
Dê um duplo clique no arquivo .pkg e siga o assistente.
Passo 3: Configurar JAVA_HOME
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 17)' >> ~/.zshrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
Passo 4: Verificar
java -version
javac -version
which java
echo $JAVA_HOME
Instalação no Linux
🐧 Ubuntu / Debian (apt)
Passo 1: Atualizar os pacotes
sudo apt update && sudo apt upgrade -y
Passo 2: Instalar o JDK 17
Opção A — OpenJDK dos repositórios oficiais:
sudo apt install openjdk-17-jdk -y
Opção B — Eclipse Temurin (recomendado para uniformidade):
sudo apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | \
gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install temurin-17-jdk -y
Passo 3: Verificar a instalação
java -version
Resultado esperado:
openjdk version "17.0.13" 2024-10-15
OpenJDK Runtime Environment Temurin-17.0.13+11 (build 17.0.13+11)
OpenJDK 64-Bit Server VM Temurin-17.0.13+11 (build 17.0.13+11, mixed mode, sharing)
javac -version
Resultado esperado:
javac 17.0.13
Passo 4: Verificar o caminho
which java
Resultado esperado:
/usr/bin/java
readlink -f $(which java)
Resultado esperado (mostra o caminho real):
/usr/lib/jvm/temurin-17-jdk-amd64/bin/java
Passo 5: Configurar JAVA_HOME
sudo nano /etc/environment
Adicione esta linha:
JAVA_HOME="/usr/lib/jvm/temurin-17-jdk-amd64"
Ou para OpenJDK:
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
Recarregue:
source /etc/environment
echo $JAVA_HOME
echo 'export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Se várias versões do Java estiverem instaladas
sudo update-alternatives --config java
Isso mostra todas as versões instaladas e permite escolher:
Existem 2 escolhas para a alternativa java.
Seleção Caminho Prioridade Estado
------------------------------------------------------------
* 0 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 modo automático
1 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 modo manual
2 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 modo manual
Pressione <Enter> para manter o padrão[*] ou digite o número selecionado: 1
O mesmo para javac:
sudo update-alternatives --config javac
🐧 Fedora / CentOS / RHEL (dnf/yum)
Fedora
sudo dnf install java-17-openjdk-devel -y
CentOS / RHEL
sudo yum install java-17-openjdk-devel -y
Verificar
java -version
javac -version
which java
Configurar JAVA_HOME
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
echo $JAVA_HOME
Escolher a versão ativa
sudo alternatives --config java
sudo alternatives --config javac
🐧 Arch Linux / Manjaro (pacman)
🐧 Instalação com SDKMAN! (todas as distribuições)
Instalar o SDKMAN!
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Instalar Java 17
sdk list java | grep tem
sdk install java 17.0.13-tem
Verificar
java -version
javac -version
which java
echo $JAVA_HOME
Gerenciar múltiplas versões
sdk list java # Ver todas as versões disponíveis
sdk install java 21.0.5-tem # Instalar Java 21 também
sdk use java 17.0.13-tem # Usar Java 17 nesta sessão
sdk default java 17.0.13-tem # Java 17 como padrão
🐧 Instalação manual (download direto)
Passo 1: Baixar
cd /tmp
wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.13%2B11/OpenJDK17U-jdk_x64_linux_hotspot_17.0.13_11.tar.gz
Passo 2: Extrair
sudo mkdir -p /usr/lib/jvm
sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_17.0.13_11.tar.gz -C /usr/lib/jvm
Passo 3: Configurar
echo 'export JAVA_HOME=/usr/lib/jvm/jdk-17.0.13+11' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Passo 4: Verificar
java -version
javac -version
which java
echo $JAVA_HOME
Verificação final (todos os SOs)
Abra um novo terminal e execute todos estes comandos:
1. Versão do Java
java -version
✅ Deve exibir openjdk version "17.0.x"
2. Compilador Java
javac -version
✅ Deve exibir javac 17.0.x
3. Onde o Java está instalado?
# macOS / Linux
which java
readlink -f $(which java) # caminho real (Linux)
# Windows PowerShell
where.exe java
4. JAVA_HOME está definido?
# macOS / Linux
echo $JAVA_HOME
# Windows PowerShell
$env:JAVA_HOME
# Windows CMD
echo %JAVA_HOME%
✅ Deve exibir um caminho para o JDK 17
5. Teste rápido — compilar e executar um programa
Crie um arquivo Hello.java:
public class Hello {
public static void main(String[] args) {
System.out.println("Java " + System.getProperty("java.version") + " funciona!");
System.out.println("JAVA_HOME = " + System.getProperty("java.home"));
}
}
Compile e execute:
javac Hello.java
java Hello
Resultado esperado:
Java 17.0.13 funciona!
JAVA_HOME = /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
Limpe:
rm Hello.java Hello.class
Resolução de problemas
❌ java não é reconhecido como comando
| Causa | Solução |
|---|---|
| Java não está instalado | Siga os passos de instalação acima |
| PATH não configurado | Adicione JAVA_HOME/bin ao PATH |
| Terminal não recarregado | Feche e reabra o terminal |
Windows: Verifique se %JAVA_HOME%\bin está no PATH do sistema.
macOS/Linux: Verifique se seu ~/.zshrc ou ~/.bashrc contém:
export JAVA_HOME=...
export PATH=$JAVA_HOME/bin:$PATH
❌ Versão errada do Java exibida
Se java -version mostrar Java 8, 11 ou 21 em vez de 17:
Windows:
- Verifique o PATH: a versão 17 deve aparecer antes das outras
- Remova as versões antigas do PATH
macOS:
/usr/libexec/java_home -V # Lista todas as versões
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
java -version # Deve agora exibir 17
Linux:
sudo update-alternatives --config java # Escolher a versão 17
sudo update-alternatives --config javac
❌ JAVA_HOME não está definido
Windows:
- Menu Iniciar → "variáveis de ambiente"
- Variáveis do sistema → Novo
- Nome:
JAVA_HOME, Valor:C:\Program Files\Eclipse Adoptium\jdk-17.0.13.11-hotspot
macOS:
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 17)' >> ~/.zshrc
source ~/.zshrc
Linux:
echo 'export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64' >> ~/.bashrc
source ~/.bashrc
❌ Diferença entre java e javac
| Comando | Função | Incluído em |
|---|---|---|
java | Executar um programa Java compilado | JRE e JDK |
javac | Compilar o código fonte .java em .class | Apenas JDK |
Se java funciona mas javac não → você instalou apenas o JRE em vez do JDK. Reinstale o JDK.
❓ JDK vs JRE vs JVM — qual a diferença?
┌─────────────────────────────────────┐
│ JDK │
│ (Java Development Kit) │
│ ┌────────────────────────────────┐ │
│ │ JRE │ │
│ │ (Java Runtime Environment) │ │
│ │ ┌──────────────────────────┐ │ │
│ │ │ JVM │ │ │
│ │ │ (Java Virtual Machine) │ │ │
│ │ │ Executa o bytecode │ │ │
│ │ └──────────────────────────┘ │ │
│ │ + Bibliotecas padrão │ │
│ │ + java (executar) │ │
│ └────────────────────────────────┘ │
│ + javac (compilar) │
│ + jdb (debugger) │
│ + javadoc, jar, jshell... │
└─────────────────────────────────────┘
| Componente | O que faz | Para quem |
|---|---|---|
| JVM | Executa o bytecode Java | Todos |
| JRE | JVM + bibliotecas para executar | Usuários finais |
| JDK | JRE + ferramentas para desenvolver (javac, jdb...) | Desenvolvedores ← É este que você precisa |
Checklist de validação
Antes de passar para o próximo TP (Instalação do Maven), verifique:
-
java -versionexibe 17.0.x -
javac -versionexibe 17.0.x -
which java(ouwhere.exe java) retorna um caminho válido -
echo $JAVA_HOME(ou$env:JAVA_HOME) está definido - O programa
Hello.javacompila e executa corretamente
Próxima Etapa
Java 17 está instalado! Agora prossiga para a instalação do Maven:
➡️ Próximo TP: Instalação do Maven 3.9.x