如何解决为 @Autowired 获取 ClassCastException
我有应用程序,其中父项目已使用最新的 Spring 库进行更新,但在依赖应用程序中,我不想升级 Spring beans lib 版本。 由于相同的依赖应用程序,我们必须使其与使用较旧 SF 库的较旧父组件兼容。也不想为新老父母有多个受抚养人申请
但现在的问题是,在将此依赖应用程序与较新的父应用程序一起使用时,我遇到了类转换异常。
"org.springframework.beans.factory.annotation.Autowire cannot be cast to org.springframework.beans.factory.annotation.Autowire"
如果有任何解决方法,请帮助我。任何帮助将不胜感激。
父应用程序正在使用 SF 4.1.4RELEASE(旧版)和 5.2.8RELEASE(升级版)
Wed May 05 13:37:28 IST 2021 - java.lang.ClassCastException: org.springframework.beans.factory.annotation.Autowire cannot be cast to org.springframework.beans.factory.annotation.Autowire
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:223)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:124)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:318)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:239)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:462)
at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:95)
解决方法
在 pom.xml 中从父项目依赖中排除 spring-beans 依赖,并添加您想要的适当版本的依赖。
示例: 在 pom.xml 中:
<dependeny>
<artifactId>parent<\artifactId>
<groupId>parent<groupId>
<exclusions>
<exclusion>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
</exclusion>
</exclusions>
</dependency>
并添加适当的依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.8</version>
</dependency>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。