报错:

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)


在 public static void main(String[] args) 中能够正常使用;但是项目部署后使用会报错

解决:

方案一:

检查项目中是否正确引入mysql驱动包,如果没引入,请先引入对应版本的该包。

没有汉化的话按钮为 Add as Library;

 

方案二:

Java Web项目的 jar包一定要放到 WEB-INF/lib 目录下,一定是lib文件夹!!!没有s!!!

lib文件夹在编译前需要放在 WEB-INF下,编译后才能出现在 WEB-INF/lib 目录下,只有在lib文件夹下第三方jar包才能正常加载。

项目需要的所有jar包如果没有在 WEB-INF的lib目录下,部署的web项目就会缺少lib包,tomcat会找不到你在Main里能正常调用的包;

libs不等于lib所以会找不到;

方案三:

如果能肯定包已经导入,但是还是一直报错;

可以将mysql驱动包复制黏贴到tomcat根目录下的lib文件夹下;

 项目再次重新部署就可以了;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐