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
  • 1

就算注释了该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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:  
1. compile,默认值,会随着项目一起发布。 
2. provided,类似compile,希望运行容器提供。 
3. runtime,运行时使用。 
4. test,只在测试时使用,不会用于发布。 
5. system,类似provided

猜你喜欢

转载自blog.csdn.net/mym43210/article/details/78519701