Ubuntu 我的世界服务器 java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader
Ubuntu Minecraft Server java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader
我正在尝试 运行 我的改装 mc 服务器。它在 windows 上工作,但是当我尝试在 ubuntu 上 运行 它时,它给了我这个错误:
saif@Saif-Ubuntu:~/Desktop/Minecraft Server$ java -Xmx2048M -Xms2048M -jar forge-1.12.2-
14.23.5.2854.jar
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
我试过使用 jdk 11 和 jdk 8,但我无法判断这两种方法是否有效。有人知道我可以尝试什么吗?
当您不使用JDK 8 时会出现此问题,请再次尝试使用它,卸载JDK 11 并检查您的JDK 版本与java -version
。
据我所知,Forge 遗憾地只支持 Java 8 个开发工具包。通过键入 java --version
确保您是 运行 JDK8。尝试卸载其他版本或指定应使用哪个版本。我建议阅读 this
我想出了如何在不卸载任何版本的情况下切换 java 版本:
'sudo update-alternatives --config java'
感谢 Joseph Sible、Novarch 和 Likqez 将我推向正确的方向。
我正在尝试 运行 我的改装 mc 服务器。它在 windows 上工作,但是当我尝试在 ubuntu 上 运行 它时,它给了我这个错误:
saif@Saif-Ubuntu:~/Desktop/Minecraft Server$ java -Xmx2048M -Xms2048M -jar forge-1.12.2-
14.23.5.2854.jar
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
我试过使用 jdk 11 和 jdk 8,但我无法判断这两种方法是否有效。有人知道我可以尝试什么吗?
当您不使用JDK 8 时会出现此问题,请再次尝试使用它,卸载JDK 11 并检查您的JDK 版本与java -version
。
据我所知,Forge 遗憾地只支持 Java 8 个开发工具包。通过键入 java --version
确保您是 运行 JDK8。尝试卸载其他版本或指定应使用哪个版本。我建议阅读 this
我想出了如何在不卸载任何版本的情况下切换 java 版本: 'sudo update-alternatives --config java'
感谢 Joseph Sible、Novarch 和 Likqez 将我推向正确的方向。