SpringBoot項目找不到j(luò)avax.servlet.Filter的問題及解決
SpringBoot找不到j(luò)avax.servlet.Filter的問題
新創(chuàng)建一個SpringBoot項目,編譯時出現(xiàn)了找不到j(luò)avax.servlet.Filter的異常。
這個類位于tomcat-embed這個jar下面,這里的解決方法并不是像網(wǎng)上大部分所說的手動添加這個jar,因為這是由于沒有添加spring-boot-starter-web依賴造成的。
springboot項目默認會添加spring-boot-starter和spring-boot-starter-test兩個依賴,而web項目需要spring-boot-starter-web依賴。
下面對比一下spring-boot-starter和spring-boot-starter-web這兩個依賴的區(qū)別:
spring-boot-starter-web:
spring-boot-starter,沒有web:
所以在maven里添加下面這個依賴即可:
<dependencies> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependencies>
啟動SpringBoot項目找不到報錯
java.lang.ClassNotFoundException: javax.servlet.Filter
出現(xiàn)該問題是因為缺少javax.servlet.Filter的Tomcat-embed-core-xxx.jar包;我們通常使用 spring-boot-starter-web 注入即可。
但是我檢查了maven本地倉庫中已經(jīng)有,且項目依賴maven中也存在該包;pom文件也注入了spring-boot-starter-web;編譯也通過不報錯。但是就是項目啟動報錯。
經(jīng)過一番折騰,我仔細對比了pom文件的配置項內(nèi)容,發(fā)現(xiàn)有細小差異;
這是我配置的(有問題的)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
正確的配置(在遠程maven倉庫中搜索的配置)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.3.1.RELEASE</version> </dependency>
經(jīng)過對比,發(fā)現(xiàn) <scope>provided</scope> 是導致報錯的根源;所以直接刪除這個屬性;添加版本號屬性,重啟錯誤得到解決。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringBoot集成WebServlet出現(xiàn)自定義servlet請求失敗的問題解決方案
- SpringBoot里使用Servlet進行請求的實現(xiàn)示例
- springboot掃描自定義的servlet和filter代碼詳解
- Springboot注入成員變量HttpServletRequest的原理分析
- SpringBoot3.1.2 引入Swagger報錯Type javax.servlet.http.HttpServletRequest not present解決辦法
- 解決IDEA啟動springboot項目報錯java.lang.ClassNotFoundException:?javax.servlet.ServletContext
- SpringBoot獲取HttpServletRequest的3種方式總結(jié)
- Springboot如何添加server.servlet.context-path相關(guān)使用
- SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow)
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之雙端鏈表原理與實現(xiàn)方法
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之雙端鏈表原理與實現(xiàn)方法,簡單描述了雙端鏈表的概念、原理并結(jié)合實例形式分析了java實現(xiàn)雙端鏈表的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10springboot+thymeleaf整合阿里云OOS對象存儲圖片的實現(xiàn)
本文主要介紹了springboot+thymeleaf整合阿里云OOS對象存儲圖片的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05springboot發(fā)送request請求的方式小結(jié)
在Java中,發(fā)送HTTP請求是常見需求,hutool工具包和RestTemplate類是實現(xiàn)此功能的兩種主流方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-09-09