LINUX.ORG.RU

Знающие джаву помогите

 , ,


0

1

проблема в том что пытаюсь запустить сервер форджа (minecraft) под linux (mint 19.1 cinamonn) запускаю в терминале, а джава выдает такой вот артефакт:

A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:70)
	at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:34)
Caused by: java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
	at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	... 6 more

Запусти с Java 8 для начала. Не уверен, то они успели портировать на Java 9+.

Проблема у тебя с Java Reflections.

Проще всего зайти на сайт https://bell-sw.com/pages/java-8u232/, скачать Liberica JRE 8 и запустить с его помощью.

Либо можешь поставить пакет openjdk-8-jre или аналог в твоём дистрибутиве.

Если воспользуешься Liberica JRE, то скачай, распакуй. На корень распакованой директории делаешь переменную окружения JAVA_HOME и запускаешь.

Выглядеть это должно примерно так:

#/bin/sh
JAVA_HOME="/path/to/your/extracted/installation"
"$JAVA_HOME"/bin/java -jar minecraft-server.jar
Deleted ()
Ответ на: комментарий от crutch_master

В документации не написано, что AppClassLoader будет наследоваться от URLClassLoader. Использование недокументированных возможностей гарантирует, что какая-нибудь следующая версия JRE сломает твой говно-код. Так оно в конце концов и произошло.

rupert ★★★★★ ()