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

Ubuntu服务器本地运行Java Jar连接MySQL遇No suitable driver found错误

解决服务器本地运行Java Jar连接MySQL时的“No suitable driver found”错误

核心原因分析

这个错误本质是Java运行时无法找到MySQL JDBC驱动类,常见于驱动未被正确打包进可执行Jar,或是运行时类路径未包含驱动文件。

具体解决方案

  • 确保驱动被正确打包或加载
    本地IntelliJ中添加驱动仅对开发环境有效,打包时必须将MySQL Connector/J驱动包含进最终Jar包,或在运行时指定类路径:

    • 若用Maven/Gradle构建,需配置插件打包成包含所有依赖的Fat Jar:Maven用maven-shade-plugin,Gradle用shadow插件,确保驱动被合并到输出Jar中。
    • 手动运行时,将mysql-connector-java-8.0.32.jar和你的应用Jar放在同一目录,执行命令:
      java -cp "your-app.jar:mysql-connector-java-8.0.32.jar" com.your.package.MainClass
      
      (Linux系统用冒号分隔类路径,Windows用分号)
  • 修正JDBC URL格式
    MySQL 8.0要求URL包含必要参数,完整格式应为:

    jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
    

    注意:必须指定数据库名、端口(默认3306),以及时区等参数,避免因格式不规范导致驱动无法识别。

  • 确认驱动类加载逻辑
    MySQL 8.0的驱动类为com.mysql.cj.jdbc.Driver,若代码中手动加载驱动,需替换旧的com.mysql.jdbc.Driver。从JDBC 4.0开始驱动可自动加载,但要确保Jar中包含META-INF/services/java.sql.Driver文件(Connector/J 8.0默认包含)。

  • 验证本地MySQL连接可用性
    在服务器终端执行mysql -u your_username -p -h localhost,确认本地能正常登录MySQL,排除MySQL本身的本地连接配置问题(比如my.cnf中bind-address是否设为127.0.0.1)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:46:18