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

已添加MySQL驱动至类路径仍报ClassNotFoundException求助

解决JDBC驱动加载的ClassNotFoundException问题

看起来你遇到了com.mysql.jdbc.Driver找不到的类加载异常,虽然已经把驱动Jar包添加到引用库,但还是有几个关键排查点:

1. 先修正代码里的语法错误

我注意到你代码里这一行有个明显笔误:

Class.forName(DRIVER_CLASS_NAME);/

末尾的/是多余的,会直接导致代码编译失败,先删掉这个符号,确保代码能正常编译运行。

2. 检查驱动版本与MySQL服务器的兼容性

  • 如果你的MySQL服务器是5.x版本,使用com.mysql.jdbc.Driver是正确的;
  • 如果是8.x及以上版本,驱动类已经更新为com.mysql.cj.jdbc.Driver,同时JDBC URL需要补充时区参数,比如:
    final String DBMS = "jdbc:mysql://localhost:3306/mapDB?serverTimezone=UTC";
    
    务必确保你使用的驱动Jar包和服务器版本匹配,8.x的驱动才能支持新的驱动类。

3. 确认驱动Jar包真正在运行时类路径中

有时候IDE里把Jar包添加到“构建路径”,但运行时并没有真正被包含进去:

  • 普通Java项目:右键项目 → Build Path → Add Libraries,确认驱动Jar已被添加为库;或者直接把Jar包放到项目的lib文件夹下,右键选择Add as Library;
  • Web项目:检查Deployment Assembly(Eclipse)或Artifacts(IDEA),确保驱动Jar被包含在最终部署包中;
  • 手动运行时:检查Run Configuration的Classpath标签页,确认驱动Jar在User Entries列表里。

4. 检查构建工具的依赖配置(如果用Maven/Gradle)

如果用Maven管理依赖,确保配置正确:

MySQL 5.x版本依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.49</version>
</dependency>

MySQL 8.x版本依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

执行mvn clean install确保依赖已正确下载到本地仓库。

额外提示:JDBC 4.0+可省略手动加载驱动

从JDBC 4.0开始,驱动会通过SPI机制自动加载,你可以尝试去掉Class.forName(DRIVER_CLASS_NAME);这一行,直接获取连接,看是否能解决问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:50:26