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

批处理调用Java @-文件启动MC服务器报错:找不到主类

Minecraft服务器批处理启动失败的原因及解决办法

1. 工作目录不匹配

手动执行命令时,你是在服务器根目录下操作,相对路径libraries\net\neoforged\neoforge\21.1.37\win_args.txt能被正确识别。但双击运行run.bat时,批处理的工作目录可能并非服务器根目录(比如批处理放在子文件夹、或通过快捷方式启动时指定了其他目录),导致Java找不到@参数文件,误将路径当作主类名。

解决:在批处理开头添加目录切换命令,强制进入批处理所在的服务器根目录:

@echo off
cd /d "%~dp0"
java -Xmx4G @libraries\net\neoforged\neoforge\21.1.37\win_args.txt %*

%~dp0会自动获取批处理文件的绝对路径,cd /d确保跨盘符切换也生效。

2. 批处理文件编码异常

如果run.bat以UTF-8编码保存且带有BOM(字节顺序标记),Windows命令解释器会把BOM当作命令的一部分,导致Java错误解析@libraries\...路径。

解决:用记事本打开批处理,选择「另存为」,编码选ANSI后覆盖保存。

3. 参数解析冲突

极少数情况下,批处理中的%*(传递外部参数)可能和@参数文件的内容产生解析冲突。你可以先测试不带%*的命令:

java -Xmx4G @libraries\net\neoforged\neoforge\21.1.37\win_args.txt

如果能正常启动,再逐步添加%*;若路径包含空格,给@参数文件路径加引号:

java -Xmx4G "@libraries\net\neoforged\neoforge\21.1.37\win_args.txt" %*

4. Java环境版本不一致

手动执行时用的是Java 21,但批处理运行时可能调用了PATH环境变量中其他版本的Java,导致@参数文件的解析逻辑不兼容。

解决:在批处理中明确指定Java 21的绝对路径,比如:

"C:\Program Files\Java\jdk-21\bin\java.exe" -Xmx4G @libraries\net\neoforged\neoforge\21.1.37\win_args.txt %*

替换为你实际的Java安装路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:41:01