You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Minecraft Forge服务器启动Bat报错:Java类转换异常求助

Minecraft Forge 1.12.2服务器启动报错求助

我正在搭建Minecraft Forge 1.12.2服务器,运行启动bat文件时持续报错。该脚本原本应该自动适配Java 1.8版本启动服务器,在我桌面端能正常运行,但当前环境下报错。我已经尝试指定全新安装的jdk-8u351的Java可执行文件路径,但问题仍未解决。

启动脚本内容

@ECHO OFF

:: 设置内存时请带上单位字母,M=MB,G=GB,不要写1GB,应该写1G ::

:: 64位系统内存设置 ::
set memsixtyfour=4G

:: 32位系统内存设置 - 最大约1.2G ::
set memthirtytwo=1G

:: Java路径,用双引号包裹(\"C:\\Path\\To\\Java\\bin\\java\"),写\"java\"则使用系统默认Java
set javapath=\"java\"

:: 传递给Java的额外参数,比如元空间、垃圾回收相关配置等
set jvmargs=\"\"

:: 以下内容请勿修改 ::

if $SYSTEM_os_arch==x86 (
    echo OS is 32
    set mem=%memthirtytwo%
) else (
    echo OS is 64
    set mem=%memsixtyfour%
)

%javapath% -version

echo Launching forge-1.12.2-14.23.5.2860.jar with '%mem%' max memory, jvm args '%jvmargs%' and arguments '%*'

:: 在本行末尾添加nogui可禁用图形界面 ::
%javapath% -Xmx%mem% %jvm_args%  -Dlog4j2.formatMsgNoLookups=true -Dlog4j.configurationFile=log4j2.xml -jar forge-1.12.2-14.23.5.2860.jar %*
PAUSE

错误日志

OS is 64
java version "19.0.1" 2022-10-18
Java(TM) SE Runtime Environment (build 19.0.1+10-21)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
Launching forge-1.12.2-14.23.5.2860.jar with '4G' max memory, jvm args '""' and arguments ''
A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:110)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        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)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        ... 3 more
Press any key to continue . . .

--- 更新于2023年5月23日 上午9:11 ---
我尝试强制bat文件使用正确版本的Java(全新安装的jdk-8u351),并指定了Java可执行文件所在bin目录的路径,但当前bat中该配置行仍为:

:: Java路径,用双引号包裹(\"C:\\Path\\To\\Java\\bin\\java\"),写\"java\"则使用系统默认Java
set javapath=\"java\"

内容的提问来源于stack exchange,提问作者Green_lint

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 09:09:53