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