Spring Boot 启动 Struts 报冲突

时间:2022-01-12 01:42:59

错误信息如下:

Caused by: com.opensymphony.xwork2.config.ConfigurationException: Bean type class com.opensymphony.xwork2.ObjectFactory with the name struts has already been loaded by bean - jar:file:/C:/Users/YuCheng/Documents/WorkDir/Ossez/cwiki-us/src/spring-boot-sample-struts2/target/spring-boot-sample-struts2-1.0.0-SNAPSHOT.war!/WEB-INF/lib/struts2-core-2.5.16.jar!/struts-default.xml:73:72
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:260) ~[struts2-core-2.5.16.jar!/:2.5.16]
... 19 common frames omitted

这个有可能是

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.5.16</version>
</dependency>

和 Spring Boot 的环境有冲突。

你可以在上面的引用中添加一个 <scope>provided</scope> 然后修改为:

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.5.16</version>
<scope>provided</scope>
</dependency>

https://www.cwiki.us/questions/41681342