Инструкция Всё про версии java и исправление ошибок связанных с этим

Всё про версии java и исправление ошибок связанных с этим
Краткое описание:
Какую ставить версию джавы и как исправить UnsupportedClassVersionError и Unsupported Java detected
929
  • Лайк 0
Реакции:2 пользователей
Сегодня поговорим про версии java. В чём их отличие и какую ставить.

Сначала стоит сказать, что существует много разных поставщиков джавы
1711040018742

Какого поставщика выбрать? Как по мне самый стабильный вариант - adoptium terumin. Там не нужна ни регистрация, ни нероссийский айпи адрес. Для установки на ваш компьютер (не сервер) выберите операционную систему и архитектуру. Обычно она x64, но если у вас процессор от apple, то выберите aarch64. Следующая графа это тип версии: jre и jdk. Отличаются они тем, что версия jdk может компилировать (собирать) программы из исходного кода в исполняемый. Выберите jdk, вдруг понадобится когда-нибудь собрать oraxen или другие подобные плагины из исходников. Ну и самое главное: версия. Java очень серьёзно относится к обратной совместимости, а значит всё, что собрано на старых версиях, будет работать на новых. Поэтому выбирайте последнюю версию, но с припиской LTS. На момент написания статьи это 21 версия. После этого будет выбор разных расширений файлов. Если у вас windows, выберите msi и откройте его. Если mac os, выберите pkg и откройте его. Если linux, выберите tar.gz и думайте сами что с этим делать.

Дальше опишу подробно установку на windows
Откройте установочный файл, нажмите 1 раз далее, на 2 этапе будет выбор, в котором надо изменить 2 последних параметров с крестика на первый вариант (всё на скриншоте)
1711042128246

После этого нажимаете next next next и ждёте завершение установки. Для проверки можете открыть терминал и написать java -version чтобы убедиться что система распознаёт джаву
1711042261042

Для установки на дедик, у которого нет графического интерфейса, а есть только терминал, воспользуйтесь инструкцией для вашего дистрибутива на сайте Linux (RPM/DEB/APK) installer packages | Adoptium

Теперь расскажу про 2 популярные ошибки, связанные с версией джавы и майнкрафт сервером:

Unsupported Java detected (??). Only up to Java ?? is supported. Такое может быть при запуске старой версии майнкрафта на новой джаве. Это искусственное ограничение, и его можно обойти, добавив аргумент запуска -DPaper.IgnoreJavaVersion=true в скрипт запуска. (но только если ваша версия джавы новее официально поддерживаемой сервером) Добавьте его между словом java и -jar:
1711042765578
После этого сервер будет запускаться

Также есть другая ошибка: Caused by: java.lang.UnsupportedClassVersionError: ... has been compiled by a more recent version of the Java Runtime (class file version НужнаяВерсия), this version of the Java Runtime only recognizes class file versions up to ВашаВерсия. Эта ошибка говорит о том, что плагин был собран на более новой версии джавы, чем той, с которой вы запускаете сервер. Тут пишется не версия джавы, а версия класса. Для того, чтобы определить нужную версию джавы, надо вычесть из НужнаяВерсия число 44. Но если у вас проблемы с математикой, вот таблица этих версий:
1711043057355

Поставьте подходящую и у вас всё заработает.

На этом всё, если есть что предложить, пишите

Автор

Cyanoriss

Еще ресурсы от Cyanoriss

LeetRecipes - добавь себе на сервер любые кастомные крафты
LeetRecipes - добавь себе на сервер любые кастомные крафты
Плагин позволяет добавить на сервер абсолютно любые крафты
LeetPvP | Честное пвп для ваших игроков
Плагин на честное пвп в случайных локациях
GroupColor | Плейсхолдер на цвет группы
Плейсхолдер для PlaceholderAPI, отображающий цвет каждой привилегии
EnchantsTweaks | Улучшенные зачарования для вашего сервера
EnchantsTweaks | Улучшенные зачарования для вашего сервера
Плагин на изменение оформления и максимальных уровней зачарований
ExpCollector | Плагин на сохранение опыта в бутылку
ExpCollector | Плагин на сохранение опыта в бутылку
Плагин, позволяющий накапливать опыт в пустые бутылки
ВерхНиз