在此行找到多个注释:找不到工厂bean

时间:2018-10-24 06:22:50

标签: java spring spring-security

我正在Spring Tool Suite(3.6.4.RELEASE)中构建一个Spring项目。 我正在尝试使用Maven将Spring Framework版本从4.0.3.RELEASE升级到4.2.7.RELEASE。

升级前没有错误,一切运行顺利。现在项目正在编译并且正在运行,没有错误,但是没有显示登录页面,并且我在spring安全配置xml中也遇到了错误。

spring-security.xml中的错误: enter image description here

在STS悬停时显示以下错误:

Multiple annotations found at this line:
- Factory bean 'org.springframework.security.config.http.FilterInvocationSecurityMetadataSourceParser
 $DefaultWebSecurityExpressionHandlerBeanFactory' not found [config set: mcare-dashboard-web/web-context]
- Factory bean 'org.springframework.security.config.http.HttpConfigurationBuilder
 $SecurityContextHolderAwareRequestFilterBeanFactory' not found [config set: mcare-dashboard-web/web-context]

项目层次结构:

enter image description here

我的pom.xml如下:

enter image description here

然后我就这样更改了版本号:

enter image description here

spring-security.xml显示错误之后。

有人可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

您声明要从4.0.3.RELEASE版本升级到4.2.7.RELEASE版本。无论您如何有效地升级Spring和Spring Security。这是因为具有一个名为org.springframework-version的版本属性,用于管理Spring和Spring Security依赖项的版本。

因此,将org.springframework-version更改为4.2.7.RELEASE也可以有效地升级Spring Security。

要解决此问题,您需要具有两个不同的版本属性,一个用于Spring,另一个用于Spring Security。然后只能升级Spring或Spring Security。