使用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