Instalar o Java 17 no Debian 13 e no Debian 12
O Debian 12 traz o OpenJDK 17, o Debian 13 já não. Veja como instalar o Java 17 em ambas as versões, com o apt ou através do repositório Adoptium com o Eclipse Temurin.
Pretende instalar o Java 17 no seu servidor Debian? Um aviso à partida: saber se um simples apt install chega depende da sua versão do Debian. O Debian 12 (Bookworm) traz o OpenJDK 17, mas o Debian 13 (Trixie) já não. Este guia mostra o caminho certo para ambos os casos.
Requisitos
Precisa de um acesso SSH com privilégios de root (ou de um utilizador com permissão sudo) num Debian atual. Recomendam-se o Debian 13 "Trixie" e o Debian 12 "Bookworm". O Debian 10 chegou ao fim do suporte em junho de 2024 e já não recebe atualizações de segurança regulares, pelo que deixou de ser adequado para uso em produção.
Este comando mostra que versão do Debian está a correr no seu sistema:
cat /etc/os-release
De seguida, atualize a lista de pacotes e instale as atualizações disponíveis:
apt update && apt upgrade -y
Que versão de Java traz cada Debian?
O Debian substitui as versões do OpenJDK incluídas a cada nova versão principal. Um guia que recomende apt install openjdk-17-jre-headless de forma genérica falha, por isso, no Debian 13. Esta tabela mostra o que existe realmente nos repositórios oficiais (situação em julho de 2026):
| Pacote | Debian 13 | Debian 12 | Debian 11 |
|---|---|---|---|
| openjdk-8-jre-headless | não incluído | não incluído | não incluído |
| openjdk-11-jre-headless | não incluído | não incluído | 11.0.31 |
| openjdk-17-jre-headless | não incluído | 17.0.19 | 17.0.19 |
| openjdk-21-jre-headless | 21.0.11 | não incluído | não incluído |
| openjdk-25-jre-headless | 25.0.3 | não incluído | não incluído |
Pode verificar a qualquer momento se um pacote está disponível no seu sistema:
apt-cache policy openjdk-17-jre-headless
Se junto a "Candidato" aparecer um número de versão, pode instalar diretamente. Se ali estiver (nenhum), siga o caminho do Temurin descrito mais abaixo.
Instalar o Java 17 no Debian 12
No Debian 12 (e igualmente no Debian 11), o OpenJDK 17 está no repositório oficial. Basta um único comando:
apt install openjdk-17-jre-headless -y
A variante jre-headless contém apenas o ambiente de execução, sem bibliotecas gráficas, sendo por isso a escolha leve e adequada para um servidor, por exemplo para um servidor de Minecraft ou uma aplicação web em Java.
Se precisar também de um compilador, porque compila as aplicações Java no próprio servidor, instale o JDK completo:
apt install openjdk-17-jdk -y
Instalar o Java 17 no Debian 13 através do repositório Adoptium
O Debian 13 já não inclui o OpenJDK 17: ali a versão fornecida é o Java 21. Se a sua aplicação exigir expressamente o Java 17, instale o Eclipse Temurin. Trata-se de uma build livre do OpenJDK, disponibilizada através de um repositório próprio e atualizada depois normalmente com o apt.
Instale primeiro os pacotes auxiliares e crie o diretório para as chaves de repositório:
apt install -y wget gpg apt-transport-https ca-certificates
mkdir -p /etc/apt/keyrings
A seguir, transfira a chave de assinatura e registe a fonte de pacotes. A linha de sources aponta explicitamente para essa única chave através de signed-by=, pelo que ela passa a ser válida apenas para este repositório:
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt update
De seguida, instale o Java 17:
apt install temurin-17-jre -y
Se também aqui precisar de um compilador, instale antes o temurin-17-jdk. O repositório Adoptium disponibiliza para o Debian 13 as versões 8 a 26, pelo que não fica dependente da seleção da sua distribuição. Para o Debian 12 existe igualmente a mesma fonte de pacotes.
Alternativa: usar a versão predefinida do Debian
Se a sua aplicação não exigir uma versão específica de Java, mas apenas um Java atual, o metapacote é o caminho mais cómodo. Instala automaticamente a versão que a sua distribuição define como predefinida:
apt install default-jre-headless -y
Conforme a versão do Debian, obtém o seguinte Java:
| Distribuição | Versão de Java via default-jre-headless |
|---|---|
| Debian 13 | Java 21 |
| Debian 12 | Java 17 |
| Debian 11 | Java 11 |
No Debian 12 obtém assim exatamente o Java 17 pretendido, sem ter de manter o número de versão no nome do pacote.
Verificar a instalação
Para terminar, confirme se a instalação correu bem. Para isso, basta consultar a versão de Java instalada:
java -version
Se a saída começar por openjdk version "17, o Java 17 está corretamente configurado e pronto a usar.
Gerir várias versões de Java em paralelo
Se o servidor tiver vários JDK instalados, é a gestão de alternatives que decide que versão arranca realmente ao chamar java. Pode listar assim todas as versões existentes:
update-alternatives --list java
A seguir, escolhe de forma interativa a versão predefinida pretendida a partir dessa lista:
update-alternatives --config java
Se uma aplicação precisar também da variável de ambiente JAVA_HOME, obtenha o caminho a partir dessa lista e registe-o de forma permanente em /etc/environment:
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
Ainda a usar o Debian 11?
O Debian 11 "Bullseye" já só recebe atualizações de segurança LTS limitadas, mas continua a incluir o OpenJDK 17. O comando é o mesmo que no Debian 12:
apt install openjdk-17-jre-headless -y
Ainda assim, planeie uma atualização a médio prazo, para voltar a receber atualizações de segurança regulares para todos os pacotes.
Erros frequentes e soluções
"Unable to locate package openjdk-17-jre-headless" no Debian 13: não se trata de um erro da sua instalação. O Debian 13 simplesmente já não contém este pacote. Instale ali o Java 17 através do repositório Adoptium ou passe para o Java 21 fornecido.
A mesma mensagem no Debian 12: aqui a lista de pacotes local está desatualizada ou incompleta. Execute apt update e verifique em /etc/apt/sources.list se a fonte principal da sua versão do Debian está registada.
java -version indica outra versão: no sistema continua definida como predefinida uma instalação de Java mais antiga. Defina a versão pretendida com update-alternatives --config java.
Guias com apt-key: artigos mais antigos integram fontes externas através de apt-key adv. Esse comando está marcado como obsoleto desde o Debian 11, porque uma chave registada dessa forma passa a ser válida para todas as fontes de pacotes do sistema. Os guias atuais colocam a chave em /etc/apt/keyrings/ e remetem para ela na linha de sources através de signed-by=.
A sua aplicação não arranca apesar do Java 17: algum software verifica a versão de Java no arranque e exige uma versão principal específica. Nesse caso, consulte o ficheiro de log da aplicação, onde costuma constar a versão exigida com exatidão.
Perguntas frequentes
Com que comando instalo o Java 17 no Debian?
Porque é que o Debian 13 indica Unable to locate package openjdk-17-jre-headless?
Que versão de Java obtenho através do default-jre-headless?
Qual é a diferença entre openjdk-17-jre-headless e openjdk-17-jdk?
Como defino o Java 17 como versão predefinida?
2023-2026 KernelHost GmbH. Todos os direitos reservados. Este guia está protegido por direitos de autor. A sua republicação noutros sites, na íntegra, em parte ou de forma editada, não é permitida sem o nosso consentimento por escrito. Citações com indicação da fonte e ligação são expressamente bem-vindas.

