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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章