#java #macos #server #minecraft
#java #macos #сервер #Minecraft
Вопрос:
У меня возникли проблемы с запуском Minecraft 18.0 на моем сервере Mac. Когда я пытаюсь запустить сервер, я получаю сообщение об ошибке, показанное ниже.
Error: LinkageError occurred while loading main class net.minecraft.bundler.Main java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 60.0
Я получал ту же ошибку, когда у меня была установлена Java 8u311.
Моя проблема в том, что я загрузил и установил jdk-17.0.1, как было предложено в другом сообщении здесь, и я все еще получаю эту ошибку. Я попытался выключить и перезагрузить серверный компьютер после установки Java 17, чтобы убедиться, что не осталось никаких оставшихся частей или фрагментов, которые могли бы помешать. Но я все еще получаю эту ошибку.
Комментарии:
1. Я ничего не знаю о Mac, но вы уверены, что minecraft использует jdk-17.0.1, а не только старую версию? Для начала, если у Mac есть командная строка, если вы вводите java -version, что это говорит?
2. Вы все еще используете Java 16 (номера версий классов см. В этой таблице в спецификации языка Java). Как вы запускаете Minecraft? Возможно, скрипт все еще указывает на Java 16. В консоли выполните
java -version
, чтобы узнать, что находится на пути, иwhich java
выяснить, где оно находится.
Ответ №1:
Как указано в ошибке, данный jar скомпилирован с самой высокой версией Java. Для этого требуется Java 17.
Если вы загрузили его, но он не применяется, попробуйте использовать java -version
в вашем cmd, и вы увидите, какая версия выбрана.
Если это не самый лучший вариант (который, похоже, является вашей проблемой) :
- Проверьте переменную среды
JAVA_HOME
иJRE_HOME
значение, чтобы ссылаться на Java 17, а не на Java 8. - Закройте все экземпляры Java (клиент Minecraft …)
- Перезагрузите компьютер, чтобы применить все
Наконец, версия должна быть увеличена до 17, а не оставаться на Java 8.