修改后的 mc 服务器无法启动,原因不明

Modded mc server not booting up, Reason unknown

所以我在使用 forge 1.12.2 启动修改后的 mc 服务器安装时遇到问题。 原因不明,但我以前遇到过这个问题。我只听说要重新安装 Java,尽管我已经这样做了很多次。

我的目录如下所示:

这存储在 c:desktop/server 中。这是服务器启动代码:java -Xmx1024M -jar forge-universal.jar nogui.

这是错误,我不明白它的意思,而且没有官方的 minecraft 崩溃日志:

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:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        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 16。你可以用java -version查看。

Forge 1.12 无法使用此版本 Java 运行。所以,我建议你:

  • 安装旧版本,例如 Java 8.
  • 将引导代码更改为 C:\Dir\To\Jre\java.exe -Xmx1024M -jar forge-universal.jar nogui
  • 或将 JAVA_PATH 变量更改为 Java 8 JRE 而不是 Java 16 的 JRE。