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 添加到工件,就可以一鍵完成上面的操作。

