К содержимому
Tickwise
КритичноЗапускSIG-ST-001

Java слишком старая для сервера или плагина (UnsupportedClassVersionError)

Платформы
Paper · Purpur · один сервер
Проверено
Проверено
Уверенность
Уверенность 97%

Как это выглядит в логе

Достаточно одной из строк. Агент сверяет их с логом локально, на вашем сервере.

logs/latest.log
  • has been compiled by a more recent version of the Java Runtime

Симптомы

  • Сервер не запускается сразу после старта JVM, либо не загружается отдельный плагин
  • В логе: «has been compiled by a more recent version of the Java Runtime (class file version N)»

Причина

Класс (ядро сервера или плагин) собран под более новую Java, чем та, на которой запущен сервер. Номер class file version показывает требуемую Java: 65 = Java 21, 69 = Java 25.

Вероятные причины

  • Сервер/образ панели запускается на старой Java (например, 17), а Paper 1.21.x требует Java 21, Paper 26.x — Java 25
  • Плагин собран под Java 25, а сервер работает на Java 21 (плагин для более новой версии Minecraft)
  • В панели выбран не тот Docker-образ/путь к java

Как исправитьСредний риск

  1. Найдите в evidence два числа: class file version X (требуется) и up to Y (есть сейчас). 65.0 = Java 21, 69.0 = Java 25, 61.0 = Java 17.
  2. Если в строке упомянут класс ядра (org/bukkit/craftbukkit/Main, io/papermc/...) — сервер не стартует: установите требуемую Java (Paper 1.21.x — Java 21, Paper 26.x — Java 25), в панели хостинга смените Docker-образ/версию Java.
  3. Если упомянут класс плагина — либо обновите Java сервера, либо возьмите версию плагина, собранную для вашей версии Java/Minecraft.
  4. Проверьте результат командой java -version тем же путём к java, которым запускается сервер.

Источники