解决 Java Web 学习过程遇到的异常: java.lang.ClassNotFoundException: org.springframework.dao.DataAccessException

IntelliJ IDEA 2021.1.3

问题描述

在进行 Servlet 开发之前,就已经有使用过 Spring 框架的数据库相关依赖包来进行数据库的操作,我按照平常的配置添加对应的依赖包,同时添加 JUnit 注解进行测试,发现测试是通过的,但是通过 Servlet 的方式访问就户出现 java.lang.ClassNotFoundException: org.springframework.dao.DataAccessException 异常。

image

这是项目大致的结构图:

image

问题原因

一开始的时候,因为 JUnit 测试通过了,所以就没有往依赖的方向上去想,后面是通过查看构建出来的包才发现了依赖包丢失,苦笑。

问题解决

方法一(推荐)

在 WEB-INF 目录下创建 lib 文件夹,用以存放项目的依赖。不要在 src 同级目录下创建 lib 目录。

image

然后将这个 lib 添加到依赖库。方法是右键 lib 目录,然后选择添加为库。

image

指定库的级别,完成后就可以正常使用了。

image

是不是非常方便?哈哈,我推荐使用这个方法来添加依赖,这样可以在之后添加依赖的时候不用做那么多操作,只需要导入依赖包就可以完成了。

方法二

同样的,先将 lib 添加为库。

image

然后打开项目结构,选择工件,在输出布局里面的 WEB-INF 下新建一个 lib 目录。

image
image

在 lib 目录上右键添加副本,选择文件

image

将 模块下的 lib 目录中的依赖包全部选中添加进来。这会让 IDEA 在构建的时候将这些文件输出到对应的目录下,以便 Tomcat 加载对应的依赖。

这里有个小小的快捷操作,就是右下角的修正,只要点击修正,然后将 lib 添加到工件,就可以一键完成上面的操作。
image

posted @ 2022-03-02 09:23  Wenhsing  阅读(905)  评论(0编辑  收藏  举报