IntelliJ IDEA 2021.1.3
在进行 Servlet 开发之前,就已经有使用过 Spring 框架的数据库相关依赖包来进行数据库的操作,我按照平常的配置添加对应的依赖包,同时添加 JUnit 注解进行测试,发现测试是通过的,但是通过 Servlet 的方式访问就户出现 java.lang.ClassNotFoundException: org.springframework.dao.DataAccessException
异常。
这是项目大致的结构图:
一开始的时候,因为 JUnit 测试通过了,所以就没有往依赖的方向上去想,后面是通过查看构建出来的包才发现了依赖包丢失,苦笑。
在 WEB-INF 目录下创建 lib 文件夹,用以存放项目的依赖。不要在 src 同级目录下创建 lib 目录。
然后将这个 lib 添加到依赖库。方法是右键 lib 目录,然后选择添加为库。
指定库的级别,完成后就可以正常使用了。
是不是非常方便?哈哈,我推荐使用这个方法来添加依赖,这样可以在之后添加依赖的时候不用做那么多操作,只需要导入依赖包就可以完成了。
同样的,先将 lib 添加为库。
然后打开项目结构,选择工件,在输出布局里面的 WEB-INF 下新建一个 lib 目录。
在 lib 目录上右键添加副本,选择文件
将 模块下的 lib 目录中的依赖包全部选中添加进来。这会让 IDEA 在构建的时候将这些文件输出到对应的目录下,以便 Tomcat 加载对应的依赖。
这里有个小小的快捷操作,就是右下角的修正,只要点击修正,然后将 lib 添加到工件,就可以一键完成上面的操作。