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"
maven下run项目,报如上错,请先检查生成的war包中是否包含有servlet-api.jar,若有则说明是servlet-api.jar冲突。
用eclipse查看项目的pom.xml文件的jar依赖树,打开pom.xml---->选项卡Dependency Hierarchy
找到依赖的servlet-api.jar右键--->Open POM查看此jar的pom信息
根据此jar的pom信息,在项目的pom.xml文件中增加对此servlet-api的引用即可。
用eclipse查看项目的pom.xml文件的jar依赖树,打开pom.xml---->选项卡Dependency Hierarchy



根据此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了
本文介绍了解决Maven项目中因servlet-api.jar冲突导致的LinkageError错误的方法。通过检查WAR包、分析pom.xml依赖树及调整servlet-api版本配置,确保应用正常运行。
1923

被折叠的 条评论
为什么被折叠?



