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

2022-11-26 09:38:23 +08:00
 zhoudaiyu
项目不是我写的,但是是我部署的。项目原本是在 Tomcat9 下跑的(能正常运行的),我们用的是 Tomcat7 ,然后就把 war 包放到了我们的 tomcat 里测一下,刚开始报了几个 classnotfound 都是 pom 的问题,但是现在报了一个 ClassNotFoundException: com.mysql.jdbc.Driver 的报错,但是 mysql-connector-java 的包( 5 版本的)确实打进去了,而且在解压后的 war 目录中的 WEB-INF/lib 下可找到这个 jar 包,完整的报错栈如下图所示,请大佬们给点思路该如何排查下呢
1257 次点击
所在节点    问与答
6 条回复
cslive
2022-11-26 10:06:55 +08:00
这个好像使用了 tomcat 数据源,把 mysql 驱动扔一份到 tomcat. lib 目录下试试
zhoudaiyu
2022-11-26 10:16:07 +08:00
@cslive 您说的这个我也看到过一些博客讲,这个我回去试一下,但是我们其他的项目也是把 mysql-connector-java 的包打到自己的 war 里,tomcat 自带的 lib 里没放,他们就可以连上 mysql 的,所以还是有点疑惑
ajaxgoldfish
2022-11-26 11:31:54 +08:00
大概率有以下情况:

可能是你的 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
2022-11-26 11:37:22 +08:00
现在还用 tomcat 呀?不是 springboot 索嗨全部?

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

另外也检查一下 jdbc 链接是否用对。
zhoudaiyu
2022-11-26 12:21:33 +08:00
@deco 公司的强制要求,莫得办法
haimianbihdata
2022-11-26 13:14:17 +08:00
@deco 项目的 jar 包目录。跟 tomcat 的目录。都放一下。看看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/898018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX