V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhoudaiyu
V2EX  ›  问与答

问大家一个关于 tomcat 项目启动报 ClassNotFoundException: com.mysql.jdbc.Driver 的问题

  •  
  •   zhoudaiyu · 62 天前 · 822 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目不是我写的,但是是我部署的。项目原本是在 Tomcat9 下跑的(能正常运行的),我们用的是 Tomcat7 ,然后就把 war 包放到了我们的 tomcat 里测一下,刚开始报了几个 classnotfound 都是 pom 的问题,但是现在报了一个 ClassNotFoundException: com.mysql.jdbc.Driver 的报错,但是 mysql-connector-java 的包( 5 版本的)确实打进去了,而且在解压后的 war 目录中的 WEB-INF/lib 下可找到这个 jar 包,完整的报错栈如下图所示,请大佬们给点思路该如何排查下呢
    6 条回复    2022-11-26 13:14:17 +08:00
    cslive
        1
    cslive  
       62 天前 via Android
    这个好像使用了 tomcat 数据源,把 mysql 驱动扔一份到 tomcat. lib 目录下试试
    zhoudaiyu
        2
    zhoudaiyu  
    OP
       62 天前 via iPhone
    @cslive 您说的这个我也看到过一些博客讲,这个我回去试一下,但是我们其他的项目也是把 mysql-connector-java 的包打到自己的 war 里,tomcat 自带的 lib 里没放,他们就可以连上 mysql 的,所以还是有点疑惑
    ajaxgoldfish
        3
    ajaxgoldfish  
       62 天前   ❤️ 1
    大概率有以下情况:

    可能是你的 driver 、url 、username 、password 其中之一写错了
    driver:从 mysql-connector-java6 开始,driver 要使用 com.mysql.cj.jdbc.Driver ,去 pom.xml 的 dependecies 中看看你的版本
    url:使用 mysql8.0 以上版本 url 中需要加上 serverTimezone 属性
    你的 mysql-connector-java 依赖版本和你的 mysql 版本不一致
    ————————————————
    版权声明:本文为 CSDN 博主「 Sdajfsdlh0 」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接: https://blog.csdn.net/weixin_44791976/article/details/112546239
    deco
        4
    deco  
       62 天前
    现在还用 tomcat 呀?不是 springboot 索嗨全部?

    驱动包 要放好两个地方我记得。 试试一楼的,放到的目录再试试。

    另外也检查一下 jdbc 链接是否用对。
    zhoudaiyu
        5
    zhoudaiyu  
    OP
       62 天前 via iPhone
    @deco 公司的强制要求,莫得办法
    haimianbihdata
        6
    haimianbihdata  
       62 天前 via Android
    @deco 项目的 jar 包目录。跟 tomcat 的目录。都放一下。看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   239 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 21:56 · PVG 05:56 · LAX 13:56 · JFK 16:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.