gpt4 book ai didi

java - 从 spring 4.3.2 升级到 5.0.2 导致缺少 @AliasFor 错误

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:58 24 4
gpt4 key购买 nike

当我尝试将 spring web-mvc 应用程序从版本 4.3.2 升级到 5.0.2 时,我在 servlet xml 中收到错误。错误发生在以下行中,

<context:component-scan base-package="com.mypackage" />

错误如下,

处理 XML 时发生错误“注释 [org.springframework.stereotype.Controller] 中属性 [值] 的 @AliasFor 声明缺少必需的“属性”值。”。有关更多详细信息,请参阅错误日志

这就是我的 servlet xml 的样子。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd">


<security:global-method-security secured-annotations="enabled"/>

<context:component-scan base-package="com.mypackage" />

<mvc:view-controller path="/" view-name="index"/>

<mvc:resources mapping="/resources/**" location="/resources/" />

</beans>

如果我使用 5.0.0,则不会发生此错误。由于它提示 org.springframework.stereotype.Controller 中缺少注释,我试图找出 Controller 中新添加或缺少的内容。我可以看到 5.0.2 版本中添加了一个新行,并且缺少“属性”。

@AliasFor(annotation = Component.class)

我确信我的 bean 类定义中缺少 5.0.2 版本所需的某些内容。

最佳答案

我会检查三件事。

首先,您需要确保您的依赖管理是正确的。您可以运行 mvn dependency:tree 并检查所有 Spring 依赖项是否使用相同版本。如果您想避免将来出现此类问题,可以使用 Spring Framework BOM 并让它管理 Spring Framework 工件的版本:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

如果您的依赖管理正确,这可能是一个损坏的 JAR。您可以使用 mvn dependency:purge-local-repository 清除内容并重新下载依赖项。

最后,不再建议在 XML 中使用版本化模式 - 事实上,从 Spring Framework 5.0 开始不再支持它,请参阅 SPR-13499 .

关于java - 从 spring 4.3.2 升级到 5.0.2 导致缺少 @AliasFor 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48879231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com