Tomcat // Class.forName(“com.mysql.cj.jdbc.Driver”);报错

2022-06-20 11:31:31 浏览数 (1)

大多网上的解决方案有下面2点:

1> jdbc版本5之前和之后加cj的问题

2> 加时区 “jdbc:mysql://localhost:3306/makefriend?&useSSL=false&serverTimezone=UTC”

----------------

​要真正解决这个问题,要先理解Tomcat是如何加载项目jar包的。

Tomcat加载Jar包的路径为下

代码语言:javascript复制
1> $java_home/lib 目录下的java核心api
2> $java_home/lib/ext 目录下的java扩展jar包
3> java -classpath/-Djava.class.path 所指的目录下的类与jar包
4> $CATALINA_HOME/common 目录下按照文件夹的顺序从上往下依次加载
5> $CATALINA_HOME/server 目录下按照文件夹的顺序从上往下依次加载
6> $CATALINA_BASE/shared 目录下按照文件夹的顺序从上往下依次加载
7> 我们的项目路径/WEB-INF/classes下的class文件
8> 我们的项目路径/WEB-INF/lib 下的jar文件

根据上面的路径,我们可以给出如下解决办法:

1>Tomcat路径下面本身的lib路径,因此我们可以直接把Tomcat报错的依赖加到这里面

2>把项目依赖的jar包放到 web-inf/lib 下

0 人点赞