今天项目打包成功,但是启动的时候报了错: cannot be cast to javax.servlet.Filter,百度了一下发现是servlet-api和tomcat自带的包冲突导致的,于是参考了网上的解决方案:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope> <!--加上即可-->
</dependency>
但是我发现我的依赖里面写了<scope>标签,这让我很头痛,看到一篇集成cxf框架出现问题的文章给了我一些启发:很可能是其他依赖内置了这个jar包,从而导致了冲突,于是我查看了jar包依赖列表:
搜索serlvet-api,发现我引用的dubbo中内置了这个jar,于是将他剔除掉:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<!-- 去掉servlet-api包 -->
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
随后,启动成功。