Debian VPS下安装MySQL JDBC驱动解决Java类找不到异常的方法
Debian VPS环境下MySQL JDBC驱动配置操作指南
直接对应Debian环境的配置流程,按插件的运行加载方式二选一操作即可。
外置驱动加载配置(适用于支持公共lib目录的插件运行环境)
不需要手动下载Jar包,通过Debian官方源安装最省心:
- 更新本地软件源索引:
sudo apt update - 安装系统内置的MySQL Java驱动包:
sudo apt install libmysql-java - 安装完成后,驱动Jar的默认存储路径为
/usr/share/java/mysql-connector-java.jar - 将驱动纳入插件运行的类路径:
- 独立Java程序运行场景:启动时通过
-cp参数追加类路径,示例命令:java -cp .:/usr/share/java/mysql-connector-java.jar 你的程序主类 - 服务端插件场景(如游戏服务端、持续集成服务插件):将Jar文件复制到服务端的公共lib目录,重启对应服务即可
- 独立Java程序运行场景:启动时通过
提示:Debian源提供的驱动为稳定适配版本,内置类名与你代码中使用的
com.mysql.cj.jdbc.Driver完全匹配,无需修改业务代码的驱动类配置。如果需要指定特殊版本的驱动,可手动获取对应版本的Jar包,放到Java运行用户有读权限的类路径目录下即可。
内置驱动打包配置(适用于无外置lib加载权限的插件开发场景)
如果插件运行环境不支持加载外部目录的类,需要在开发构建阶段将驱动打包进插件的最终发布包:
- Maven构建项目:在pom.xml中添加mysql-connector-java依赖,将依赖范围设为compile,配置maven-shade-plugin将驱动类资源合并到最终插件Jar,避免生成仅包含业务代码的瘦包
- Gradle构建项目:在build.gradle中引入对应版本的mysql-connector-java依赖,配置Jar打包任务将驱动的类资源合并到输出的插件包中
常见排错注意事项
- 不要使用MySQL 5.1及更早版本的驱动:这类旧版本的驱动类名是
com.mysql.jdbc.Driver,和代码中使用的cj包路径不匹配,哪怕驱动加载成功也会触发类找不到的报错 - 检查文件权限:确保Java运行用户对驱动Jar文件有读取权限,权限不足会导致类加载失败
- 避免类加载冲突:不要同时在公共lib目录和插件内部Jar中放置驱动文件,重复加载会触发类加载器异常,引发其他非预期报错
内容的提问来源于stack exchange,提问作者Gersom
相关产品推荐
相关产品推荐

