【关键词】maven tomcat plugin Filter 【问题描述】
在maven2中使用tomcat plugin启动web应用,在pom.xml中加入以下配置信息:
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.0-beta-1</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.0-beta-1</version> </plugin> ... </plugins> </build> ... </project>
运行mvn tomcat:run后,tomcat报
【分析原因】 由于CacheFilter实现了javax.servlet.Filter接口,Filter是在servlet-api.jar里,因此pom中有
【解决办法】 servlet-api加入<scope>provided</scope>,如下:
这样修改后,servlet-api.jar就不会在运行tomcat时被import进去了,不会与tomcat自带的servlet-api有冲突 【避免此类问题的建议】 注意pom.xml中关于包的scope的定义,解决此类包冲突产生的问题
Powered by: BlogJava Copyright © itVincent