Java无法加载jar文件 安装Minecraft服务器出现版本不兼容报错如何解决
Minecraft服务端安装常见问题解决
命令输入错误问题
你执行java - version报错是因为命令格式错误,参数和短横线之间不能有空格,正确的版本查询命令为:java -version
Java版本不兼容问题
报错说明
你遇到的完整报错为:
Exception in thread "main" java.lang.UnsupportedClassVersionError: net/minecraft/server/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
该报错的核心原因是类文件版本不匹配:类文件版本60.0对应Java 16,版本52.0对应Java 8,1.17及以上版本的Minecraft服务端均使用Java 16及更高版本编译,你当前系统默认调用的Java 8无法兼容。
安装新版本Java后仍报错的原因是系统环境变量优先级配置错误,默认调用的仍然是旧版Java 8,可按以下步骤解决:
- 确认已安装符合要求的Java版本:1.17.x版本服务端安装Java 16,1.18及以上版本服务端优先安装Java 17 LTS版本。
- 验证高版本Java安装有效性:进入高版本Java安装目录下的
bin文件夹,在地址栏输入cmd回车启动命令窗口,执行java -version,确认输出的版本号为16或更高,说明安装正常。 - 选择以下任意一种方案执行即可:
- 临时指定Java路径启动服务端:把启动命令中的java替换为高版本Java的完整路径,示例如下,路径包含空格时必须包裹英文双引号:
"C:\Program Files\Java\jdk-17.0.8\bin\java.exe" -jar server.jar - 修改系统默认Java版本:打开系统环境变量配置,将高版本Java的
bin目录路径移动到Path变量的最顶部,同时将JAVA_HOME变量值改为高版本Java的安装根目录,修改完成后重启命令窗口,执行java -version确认版本正确后,再执行服务端启动命令即可。
- 临时指定Java路径启动服务端:把启动命令中的java替换为高版本Java的完整路径,示例如下,路径包含空格时必须包裹英文双引号:
内容的提问来源于stack exchange,提问作者Ron Kan
相关产品推荐
相关产品推荐

