Minecraft Forge 1.16.5服务器MySQL JDBC驱动加载失败求助
解决Minecraft Forge 1.16.5服务器MySQL驱动找不到的问题
问题根源
本地Eclipse运行正常,打包后服务器报错ClassNotFoundException,核心原因是MySQL驱动没有被正确打包到最终的mod JAR中,或者Forge类加载器无法识别依赖。你当前的build.gradle配置存在以下问题:
- JAR打包时的文件名过滤错误(依赖是
mysql-connector-java,但过滤的是mysql-connector-j) - Shadow插件未正确关联Forge的reobfuscation流程
- jarJar配置和手动打包逻辑冲突
解决方案(推荐用Shadow插件打包驱动)
修改你的build.gradle,按以下步骤调整:
1. 清理无效配置
- 移除
buildscript中的MySQL驱动classpath依赖(构建脚本不需要这个) - 删除jar任务中手动打包驱动的
from语句 - 移除jarJar相关配置(改用Shadow打包进mod JAR)
2. 正确配置Shadow插件
添加Shadow任务配置,确保它基于reobfuscated的JAR打包,并包含MySQL驱动:
// 在build.gradle末尾添加或修改 shadowJar { // 等待reobfuscation完成后执行 dependsOn reobfJar // 以reobf后的JAR为基础进行打包 from reobfJar.archiveFile // 包含implementation配置下的所有依赖(这里就是MySQL驱动) configurations = [project.configurations.implementation] // 可选:如果担心类冲突,可以重命名MySQL驱动的包路径 // relocate 'com.mysql.cj', 'com.yourname.modid.lib.mysql' } // 让构建最终输出Shadow打包后的JAR build.finalizedBy(shadowJar)
3. 简化依赖配置
保留基础依赖即可:
dependencies { minecraft 'net.minecraftforge:forge:1.16.5-36.2.34' implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33' }
4. 优化代码(可选但推荐)
删除setup方法中手动加载驱动的代码,JDBC 4.0+会自动扫描类路径中的驱动:
// 移除这段代码 try { Class.forName("com.mysql.cj.jdbc.Driver").newInstance(); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { LOGGER.error("Failed to load MySQL JDBC driver. Make sure you have the driver JAR file in your mod's dependencies."); e.printStackTrace(); }
5. 重新构建
执行命令:
gradlew clean shadowJar
构建完成后,在build/libs目录下找到带-all后缀的JAR文件(比如modid-1.0-all.jar),将其放到服务器的mods目录即可。
备选方案(用jarJar)
如果不想用Shadow,可修正jarJar配置:
- 确保jarJar版本和依赖版本完全一致:
dependencies { minecraft 'net.minecraftforge:forge:1.16.5-36.2.34' implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33' jarJar(group: 'mysql', name: 'mysql-connector-java', version: '8.0.33'){ jarJar.pin(it, "8.0.33") } }
- 执行
gradlew jarJar,将生成的JAR放到服务器mods目录,同时需要将mysql-connector-java-8.0.33.jar放到服务器的libraries/mysql/mysql-connector-java/8.0.33目录下。
内容的提问来源于stack exchange,提问作者rapitor3
相关产品推荐
相关产品推荐

