报错:
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文件夹下;
项目再次重新部署就可以了;