我正在Spring Tool Suite(3.6.4.RELEASE)中构建一个Spring项目。 我正在尝试使用Maven将Spring Framework版本从4.0.3.RELEASE升级到4.2.7.RELEASE。
升级前没有错误,一切运行顺利。现在项目正在编译并且正在运行,没有错误,但是没有显示登录页面,并且我在spring安全配置xml中也遇到了错误。
在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]
项目层次结构:
我的pom.xml
如下:
然后我就这样更改了版本号:
spring-security.xml显示错误之后。
有人可以解释为什么会这样吗?
答案 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。