More than one fragment with the name [spring_web] was found
在 Spring 和 SpringMVC 整合的时候,遇到More than one fragment with the name [spring_web] was found 问题,提醒是有多个相同的 web 片段。
后面查看资料发现,由于我在 /WEB-INF/lib 目录下的 加入了 spring-web-5.0.2.RELEASE.jar 的 sources.jar 包,其中里面有着相同的 web-fragment ,发生了冲突。这是由于默认 web 片段在 web.xml 中部署的顺序默认是相对地址顺序。所以上面的两个位置都相同,内容一样,也就冲突了。所以有两个解决办法
- 将 sources 的 jar 包移除。
- 在 web.xml 的
<display-name>
标签下加入<absolute-ordering />
标签,表示使用绝对路径,绝对路径也就包括了 jar 包不同,就不会发生冲突