maven啓動 cannot be cast to javax.servlet.Filter/cannot be cast to javax.servlet.Servlet 報錯

使用maven開發web應用程序,啓動就報錯:

java.lang.ClassCastException: com.alibaba.druid.support.http.WebStatFilter cannot be cast to javax.servlet.Filter

就算註釋了該filter也會報spring的dispatch的servlet無法轉型。

原因

折騰了好久,終於找出原因:servlet-api.jar與tomcat自帶的包衝突

 <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>servlet-api</artifactId>
     <version>2.4</version>
     <scope>provided</scope>  <!--加上即可-->
</dependency>
<scope>,它主要管理依賴的部署。目前<scope>可以使用5個值:  
1. compile,默認值,會隨着項目一起發佈。 
2. provided,類似compile,希望運行容器提供。 
3. runtime,運行時使用。 
4. test,只在測試時使用,不會用於發佈。 
5. system,類似provided
發佈了48 篇原創文章 · 獲贊 8 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章