Java17和springboot3.0使用shiro報ClassNotFoundException的解決
環(huán)境:
- springboot 3.0.6
- java17
報錯信息:java.lang.ClassNotFoundException: javax.servlet.Filter
當我看到j(luò)avax時,估摸著應該是部分類庫遷移到了jakarta造成的,但也不知道咋解決,最后在StackOverflow看到一篇回答,恍然大悟。
翻譯如下:
由于Spring Boot 3.0 使用了Servlet 5.0,而javax.servlet此時已經(jīng)遷移到了jakarta.servlet中。Shiro已經(jīng)提供了適配Servlet 5.0 的依賴包,使用<classifier>標簽即可選取適配版本,不過部分Shiro包中仍嵌套依賴了一些沒有適配jakarta的依賴包,所以我們需要使用<exclude>將其排除,再引入同版本的jakarta適配包,就像這樣做:
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<classifier>jakarta</classifier>
<version>1.11.0</version>
<!-- 排除仍使用了javax.servlet的依賴 -->
<exclusions>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入適配jakarta的依賴包 -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<classifier>jakarta</classifier>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<classifier>jakarta</classifier>
<version>1.11.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
</exclusion>
</exclusions>
</dependency>到此這篇關(guān)于Java17和springboot3.0使用shiro報ClassNotFoundException的解決的文章就介紹到這了,更多相關(guān)shiro報ClassNotFoundException內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
學習不同 Java.net 語言中類似的函數(shù)結(jié)構(gòu)
這篇文章主要介紹了學習不同 Java.net 語言中類似的函數(shù)結(jié)構(gòu),函數(shù)式編程語言包含多個系列的常見函數(shù)。但開發(fā)人員有時很難在語言之間進行切換,因為熟悉的函數(shù)具有不熟悉的名稱。函數(shù)式語言傾向于基于函數(shù)范例來命名這些常見函數(shù)。,需要的朋友可以參考下2019-06-06
圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解
這篇文章主要介紹了圖數(shù)據(jù)庫NebulaGraph的Java 數(shù)據(jù)解析實踐與指導詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Spring?Boot?3.2.5集成mysql的詳細步驟記錄
作為一名Java開發(fā)者,我們經(jīng)常需要在我們的應用程序中使用數(shù)據(jù)庫,在Spring Boot中集成數(shù)據(jù)庫是非常容易的,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot?3.2.5集成mysql的詳細步驟,需要的朋友可以參考下2024-04-04
springboot?使用websocket技術(shù)主動給前端發(fā)送消息的實現(xiàn)
這篇文章主要介紹了springboot?使用websocket技術(shù)主動給前端發(fā)送消息的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
淺談springmvc的DispatcherServlet分析
本篇文章主要介紹了淺談springmvc的DispatcherServlet分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09

