eclipse中JDBC驱动加载失败
一、问题: 在测试类中运行驱动加载成功,而在项目中的tomcat下运行则提示驱动加载失败。
提示的内容是:
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1951)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1794)
...
二、解决方法
将lib文件从项目下面转入WEB-INF里,再右键add path即可。
下图为原来放在项目列表中
放入WEB-INF下的lib文件下的正确位置
此时运行,则驱动加载成功了。
成功加载驱动并且连接上了数据库,添加了3组数据到数据库中的运行结果:
三、排查步骤总结
- 检查mysql-connector-java-xxx(版本).jar包的位置
应该放在WebContent下的WEB-INF下的lib文件夹中。 - 检查该jar包是否添加路径到Referenced Libraries中
即在Referenced Libraries中查看有无该jar包。 - mysql7.0之后的版本的Class.forName中的字符串改变
mysql7.0之后:
Class.forName("com.mysql.cj.jdbc.Driver");
String URL = "jdbc:mysql://localhost:3306/数据库名称?useSSL=FALSE&serverTimezone=UTC";
mysql7.0版本之前
Class.forName("com.mysql.jdbc.Driver");
String URL = "jdbc:mysql://localhost:3306/数据库名称";