Instalar o Java 17 no Debian 13 e no Debian 12

Publicado a Atualizado a 6 min de leitura

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):

PacoteDebian 13Debian 12Debian 11
openjdk-8-jre-headlessnão incluídonão incluídonão incluído
openjdk-11-jre-headlessnão incluídonão incluído11.0.31
openjdk-17-jre-headlessnão incluído17.0.1917.0.19
openjdk-21-jre-headless21.0.11não incluídonão incluído
openjdk-25-jre-headless25.0.3não incluídonã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çãoVersão de Java via default-jre-headless
Debian 13Java 21
Debian 12Java 17
Debian 11Java 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?
Depende da sua versão do Debian. O Debian 12 e o Debian 11 incluem o pacote, aí basta apt install openjdk-17-jre-headless -y. O Debian 13 já não traz o OpenJDK 17, aí instala o Eclipse Temurin através do repositório Adoptium.
Porque é que o Debian 13 indica Unable to locate package openjdk-17-jre-headless?
Porque esse pacote já não existe no Debian 13. O Debian 13 traz o OpenJDK 21 e o OpenJDK 25, mas não o OpenJDK 17. Instale ali o Java 17 através do repositório Adoptium com o pacote temurin-17-jre ou mude para a versão fornecida.
Que versão de Java obtenho através do default-jre-headless?
O metapacote resolve para a versão predefinida da sua distribuição: no Debian 13 dá Java 21, no Debian 12 dá Java 17 e no Debian 11 dá Java 11. Se a sua aplicação não exigir uma versão principal fixa, este é o caminho com menos manutenção.
Qual é a diferença entre openjdk-17-jre-headless e openjdk-17-jdk?
O pacote jre-headless contém apenas o ambiente de execução, sem bibliotecas gráficas, e chega para executar aplicações Java num servidor. O JDK traz ainda o compilador e é necessário quando compila programas Java diretamente no servidor.
Como defino o Java 17 como versão predefinida?
Com update-alternatives --list java vê todas as versões de Java instaladas. Através de update-alternatives --config java escolhe depois, de forma interativa, a versão pretendida.

Java 17 OpenJDK Eclipse Temurin Java Debian 13 Debian 12 Debian Instalar Java