StrutsPrepareAndExecuteFilter cannot be cast to javax.servlet.Filter

这个报错原本是一个简单的servlet-api包冲突的问题,但是有时候就是你明明知道结果,但总也做不对;

单是按照网上的修改,还是会报这个错误,实质是项目里的其他依赖仍然使用了javax.servlet:servlet-api的依赖,需要针对排除,

这里有两个命令

mvn dependency:tree -Dverbose -Dincludes= 要查询冲突的包名 <groupId>:<artifactId>
mvn -X compile dependency:tree -Dverbose >a.log

第一个是用来查询指定包名的依赖关系,比如我查询servlet-api都有哪些项目依赖就可以使用 
mvn dependency:tree -Dverbose -Dincludes= javax.servlet:servlet-api

来查询,找到对应的项目,可以在其dependency中使用

<exclusions>
   <exclusion>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>            
   </exclusion>
</exclusions>

来排除依赖

第二个命令是用来查看所有的依赖,并输出到文件

我的问题是项目原有使用了apache cxf做webservice,别人在引用相关包时将cxf-rt-transports-http-jetty也给编译进去了,所以才导致了冲突,由于使用的tomcat插件启动,所以将其scop设置为test,在测试时才会编译,然后用tomcat:run启动,完美无转换报错了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值