eclipse+tomcat+mysql中JDBC驱动加载失败已解决

eclipse中JDBC驱动加载失败

  • eclipse中JDBC驱动加载失败
        • 一、问题: 在测试类中运行驱动加载成功,而在项目中的tomcat下运行则提示驱动加载失败。
        • 二、解决方法
        • 三、排查步骤总结

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即可。

下图为原来放在项目列表中
eclipse+tomcat+mysql中JDBC驱动加载失败已解决_第1张图片
放入WEB-INF下的lib文件下的正确位置
eclipse+tomcat+mysql中JDBC驱动加载失败已解决_第2张图片
此时运行,则驱动加载成功了。
成功加载驱动并且连接上了数据库,添加了3组数据到数据库中的运行结果:
在这里插入图片描述

三、排查步骤总结

  1. 检查mysql-connector-java-xxx(版本).jar包的位置
    应该放在WebContent下的WEB-INF下的lib文件夹中。
  2. 检查该jar包是否添加路径到Referenced Libraries中
    即在Referenced Libraries中查看有无该jar包。
  3. 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/数据库名称";

你可能感兴趣的:(JAVA学习笔记)