66c870385f9a7fe729d1d458657124168ff39f02

UnsupportedClassVersionError: какая Java нужна

Также доступно на: English

Сервер не запускается с ошибкой UnsupportedClassVersionError или A JNI error has occurred? Почти всегда это значит одно: у тебя не та версия Java. Серверу нужна более новая Java, чем установлена. Разберём, какая Java нужна и как поставить правильную.

В логах ошибка выглядит так:

Error: A JNI error has occurred, please check your installation and try again
java.lang.UnsupportedClassVersionError: net/minecraft/server/Main 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

Что значит ошибка

Ядро сервера собрано под более новую Java, чем установлена у тебя. В тексте ошибки есть подсказка: class file version 65.0 — это Java 21, а up to 61.0 — установлена Java 17. Значит, нужно поставить Java новее.

Какая Java нужна под версию Minecraft

Версия MinecraftВерсия Java
1.16.5 и старшеJava 8
1.17.xJava 16 (подойдёт и 17)
1.18 – 1.20.4Java 17
1.20.5 и новее (1.21+)Java 21

Для очень старых модовых сборок иногда нужна именно Java 8 — даже если ставишь новее, держи 8-ю под рукой.

Как поставить нужную Java

  1. Установи нужную версию. Быстрый способ на Windows — через winget:

    winget install Amazon.Corretto.22.JDK
    

    Замени число на нужную версию: Amazon.Corretto.21.JDK (для 1.21+), Amazon.Corretto.17.JDK (1.18–1.20.4), Amazon.Corretto.8.JDK (старые версии). Или скачай Eclipse Temurin с сайта Adoptium.

  2. Проверь установленную версию:

    java -version
    
  3. Перезапусти сервер.

Если в системе несколько версий Java, сервер может запускаться не той. Указывай нужную java.exe в скрипте запуска — или доверь это ProximaClient.

Через ProximaClient — Java ставится сама

ProximaClient сам ставит нужную версию Java под выбранную версию Minecraft — ошибка с версией просто не возникает. А если потребуется, версию Java можно сменить вручную в «Параметрах запуска» сервера.

Частые вопросы

Как узнать установленную версию Java? Команда java -version в командной строке.

Что за «class file version» в ошибке? Это внутренний номер версии Java: 52 → Java 8, 55 → 11, 61 → 17, 65 → 21. Сравни с числом из ошибки.

Поставил новую Java, а ошибка осталась. Скорее всего сервер запускается старой Java (их в системе несколько). Укажи путь к нужной java.exe в скрипте запуска или используй ProximaClient.

Ошибка наоборот — Java слишком новая? Старые ядра (под 1.8–1.12) лучше запускать на Java 8: на свежей Java они могут не работать.

Проще — через ProximaClient

Не хочешь разбираться с версиями Java — ProximaClient ставит нужную автоматически и даёт сменить её в пару кликов. Если только создаёшь сервер, начни с гайда Как создать сервер Minecraft на своём ПК. Скачать для Windows →

UnsupportedClassVersionError: какая Java нужна