previously initiated loading for a different type with name "javax/servlet/ServletContext"

来源:互联网 发布:常见的网络攻击类型有 编辑:程序博客网 时间:2024/06/15 05:18
maven下run项目,报如上错,请先检查生成的war包中是否包含有servlet-api.jar,若有则说明是servlet-api.jar冲突。
用eclipse查看项目的pom.xml文件的jar依赖树,打开pom.xml---->选项卡Dependency Hierarchy
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name javax/servlet/ServletContext - 醉月山人之红魔 - 红魔世界
找到依赖的servlet-api.jar右键--->Open POM查看此jar的pom信息
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name javax/servlet/ServletContext - 醉月山人之红魔 - 红魔世界
 
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name javax/servlet/ServletContext - 醉月山人之红魔 - 红魔世界
 
根据此jar的pom信息,在项目的pom.xml文件中增加对此servlet-api的引用即可。

  <dependency>     <groupId>org.mortbay.jetty</groupId>     <artifactId>servlet-api-2.5</artifactId>     <version>6.1.9</version>     <scope>provided</scope>   </dependency>

注意scope必须要加上,打包后war中就不包含冲突的servlet-api.jar了
0 0