您的位置:首页 > 编程语言 > Java开发

maven启动 cannot be cast to javax.servlet.Filter/cannot be cast to javax.servlet.Servlet 报错

2016-07-24 09:03 676 查看
使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息