A mensagem de erro já contém a resposta: se aparecer class file version 65.0, o ficheiro exige Java 21. A conta é sempre a mesma — número menos 44 dá a versão do Java. Mais importante do que o número, porém, é saber de quem é o ficheiro mencionado: na maioria dos casos, não é o servidor que está antigo demais, mas sim um único plugin que está novo demais.

Ler a mensagem

Uma linha típica é assim:

java.lang.UnsupportedClassVersionError: com/example/PluginMain has been compiled by a more
recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime
only recognizes class file versions up to 61.0

Há três informações aí:

  1. com/example/PluginMain — quem causou o erro. Se aqui aparecer o nome de um plugin ou mod, significa: esse ficheiro específico não é compatível, o servidor em si está correto.
  2. class file version 65.0 — o que é exigido: 65 − 44 = Java 21.
  3. only recognizes … up to 61.0 — o que está em execução: 61 − 44 = Java 17.

Traduzindo: um plugin criado para Java 21 está num servidor que roda com Java 17.

Tabela de conversão

class file version Versão do Java
52.0 Java 8
55.0 Java 11
60.0 Java 16
61.0 Java 17
65.0 Java 21
69.0 Java 25

Os números vêm da especificação oficial da JVM. A diferença de 44 é constante desde o Java 1.0 — por isso podes calcular qualquer versão futura por conta própria, sem aumentar a tabela.

Lembra-te: um runtime Java entende sempre todas as versões de ficheiros de classe mais antigas, mas nunca uma mais nova. Por isso, um plugin de Java 8 roda sem problema em Java 21, mas o contrário nunca funciona.

De que versão do Java cada versão do Minecraft precisa?

Versão do Minecraft Java necessário
até 1.16.5 Java 8
1.17 – 1.17.1 Java 16 (na prática, Java 17)
1.18 – 1.20.4 Java 17
a partir de 1.20.5 Java 21
a partir de 26.0 Java 25

Conosco, não precisas configurar isso. Deduzimos o runtime a partir da versão do Minecraft do teu servidor e aplicamos automaticamente. Se encomendares a 1.21, recebes Java 21 sem ter de procurar nenhum botão.

Para forks de servidor como Leaf e Leaves, mantemos ainda uma correspondência exata por release, em vez de apenas aplicar a regra geral. O motivo: um fork pode divergir do requisito vanilla, e uma suposição otimista falharia justamente quando isso importa. Se não houver um Java adequado para uma combinação, interrompemos o processo de propósito, em vez de iniciar um runtime baixo demais — um servidor que nem chega a arrancar errado é mais fácil de reparar do que um que roda pela metade.

O caso mais comum: um plugin, não o servidor

Se o teu servidor funcionava até agora e o erro apareceu depois de adicionares um ficheiro, o caso é claro. Faz assim:

  1. Anota o nome da classe na mensagem. Ele quase sempre indica o projeto.
  2. Procura no fornecedor a variante de build correta. Muitos plugins oferecem downloads separados para Java 17 e Java 21, muitas vezes com o sufixo -java17 ou como ramo de release próprio. O ficheiro mais recente não é automaticamente o certo.
  3. Se não houver uma variante compatível, precisas de uma versão mais recente do Minecraft — porque só ela traz o runtime mais novo. Como trocar a versão sem perder o mundo está em Trocar a versão do servidor Minecraft.
  4. Remove o plugin por enquanto, se o servidor tiver de voltar ao ar com urgência. Instalar mods e plugins no Minecraft mostra como adicionar e remover plugins corretamente.

O outro caso: Java novo demais

Este caso é explicado raramente, mas acontece com regularidade. Modpacks antigos de Forge — o clássico é 1.12.2 — foram criados para Java 8. Em Java 21 eles falham, geralmente não com UnsupportedClassVersionError, mas com mensagens sobre classes internas ausentes ou parâmetros de inicialização rejeitados.

Sinal típico: o pack funcionava antes, ou funciona para outras pessoas, e o teu servidor indica uma versão muito antiga do Minecraft. A solução então não é Java mais novo, mas sim selecionar no painel a versão do Minecraft pertencente ao pack — assim aplicamos o runtime antigo correto.

Nota honesta: a nossa correção automática não atua nesse caso. Ela corrige apenas na direção “antigo demais”, ou seja, quando o servidor precisa de um Java mais novo do que o runtime em execução. Um Java novo demais não é tratado como desvio de propósito — caso contrário, um cliente que escolheu intencionalmente um runtime antigo voltaria a perdê-lo automaticamente.

O que assumimos automaticamente

  • Runtime correto desde a encomenda. A versão do Java segue a versão do Minecraft, sem configuração.
  • Correção ao trocar de versão. Se mudares para uma versão com requisito de Java maior, o runtime acompanha.
  • O log de arranque prevalece sobre a conta. Se o teu servidor indicar no arranque uma versão de Java necessária maior do que a em execução, corrigimos com base nessa medição — não com base na dedução a partir da versão encomendada. Uma afirmação do próprio servidor sobre si mesmo é mais fiável do que qualquer tabela.
  • Imagens próprias ficam intocadas. Se o teu servidor roda num runtime escolhido por ti, não interferimos.
  • Falhar fechado em vez de meio certo. Se não existir Java adequado para uma combinação, paramos e avisamos, em vez de iniciar um runtime errado.

Troubleshooting

Sintoma Verificação Solução
class file version 65.0 mencionado, nome da classe é um plugin O servidor rodava antes de adicionares o ficheiro? Carregar o build do plugin para a tua versão do MC
Erro logo ao iniciar o servidor, sem plugin mencionado Que versão do Minecraft está a rodar? Alinhar versão e runtime
Modpack antigo 1.12.2 não inicia O log menciona classes internas em falta? Java está novo demais — escolher a versão do MC adequada
Erro depois de trocar a versão Surgiu logo após a troca? Aguardar o reinício; se continuar, contactar o suporte com a linha completa
Plugin carrega, mas faltam funções Há um aviso no log em vez de um erro? Outra causa — não a versão do Java

FAQ

Posso alterar eu mesmo a versão do Java?

Conosco, isso não é necessário: ela vem da versão do Minecraft do teu servidor. Se precisares de outro runtime, o caminho correto é trocar a versão do Minecraft — assim todo o ambiente fica compatível.

Java mais novo é sempre melhor?

Não. Para Minecraft, a versão exigida também é um limite prático: núcleo do servidor, mods e plugins são ajustados para ela. Saltar para um runtime mais alto “só para testar” não traz vantagem e quebra mods antigos.

Por que o meu plugin funciona localmente, mas não no servidor?

Porque a tua instalação local do Java pode ser mais nova do que a do servidor. O que importa é o runtime no servidor, não o do teu computador.

Como sei com qual Java o meu servidor está a rodar agora?

A mensagem diz isso: only recognizes class file versions up to 61.0 significa Java 17. Sem mensagem de erro, o arranque do servidor mostra a versão do Java nas primeiras linhas do console.

Tenho de recriar o meu mundo depois de trocar o Java?

Não. O runtime afeta apenas a execução, não o formato do mundo. Uma troca da versão do Minecraft, por outro lado, pode alterar o formato do mundo — por isso cria um backup antes.

Próximos passos

Se o servidor voltou a funcionar, mas está lento, Servidor Minecraft com lag: corrigir Watchdog Timeout ajuda a seguir. Se a memória RAM não combina com o tamanho do modpack, a Calculadora de RAM para Minecraft calcula a necessidade.

Procuras um servidor em que a versão do Java se ajuste automaticamente à versão do jogo? Em Alugar servidor Minecraft encontras os planos.

Fontes e ambiente de teste

Ambiente de teste: 24 de agosto de 2026. Novas versões do Minecraft podem trazer novos requisitos de Java; as fontes ligadas refletem o estado atual em cada caso.