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

依赖库已存在却抛出java.lang.ClassNotFoundException问题求助

解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题

嘿,这个问题我太熟了!碰到java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,本质就是你的项目找不到MySQL JDBC驱动包而已,咱们一步步来搞定它:

  • 先确认驱动包是否在项目类路径里
    如果你是普通Java项目,得把MySQL的JDBC驱动jar包(比如mysql-connector-java-x.x.x.jar)放到项目的lib目录,还要在IDE里把它设为项目库——比如IDEA右键jar选「Add as Library」,Eclipse里选「Build Path -> Add to Build Path」。
    要是用Maven管理项目,直接在pom.xml里加对应的依赖就行,记得版本要和你的MySQL版本匹配:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.33</version> <!-- 换成适配你MySQL的版本 -->
    </dependency>
    

    另外要注意:如果你的MySQL是8.0及以上版本,旧的com.mysql.jdbc.Driver已经被弃用了,官方推荐用com.mysql.cj.jdbc.Driver,记得把导入语句也换成这个!

  • Web项目要检查部署配置
    你这是Servlet项目,光在IDE里配置还不够,得确保驱动包被部署到服务器的正确位置:

    • 手动部署的话,把驱动jar放到Tomcat的webapps/你的项目名/WEB-INF/lib目录下;
    • 用IDE自动部署的话,去检查项目部署配置(比如IDEA的「Project Structure -> Artifacts」里,看看WEB-INF/lib下有没有包含驱动jar)。
  • 可选但推荐:去掉显式的驱动类导入
    JDBC 4.0之后,只要驱动包在类路径里,JDBC会自动加载驱动类,完全不用显式导入com.mysql.jdbc.Driver或者手动注册驱动。你可以直接删掉那行导入,写连接代码就行:

    String dbUrl = "jdbc:mysql://localhost:3306/你的数据库名?useSSL=false&serverTimezone=UTC";
    Connection conn = DriverManager.getConnection(dbUrl, "你的用户名", "你的密码");
    

    这样还能避免因为驱动类路径变更导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:43:58