Spring 3.2.0 版本的一个 ClassMetadataReadingVisitor 错误

简介:

今天把自己的一个项目,从 Spring 3.0.6 升级到 3.2.0 ,Maven中更新依赖包后,直接报下面错误:

?
java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java: 281 )

  

?
Incompatible 英文是矛盾的意思,也就是有冲突,再看后面的错误:ClassMetadataReadingVisitor has interface ClassVisitor,也就是说 ClassMetadataReadingVisitor 实现了 ClassVisitor 接口,但是貌似这里出现了问题,于是我看Spring中 2 个版本的源码,发现了变化。在 Spring 3.0 . 6 中:
?
class ClassMetadataReadingVisitor implements ClassVisitor, ClassMetadata {
...
?
?
在 Spring 3.2 . 0 中:
?
class ClassMetadataReadingVisitor extends ClassVisitor implements ClassMetadata {
...

大家都看到问题在哪了吧,3.0.6中,ClassVisitor 是一个接口(interface ClassVisitor),而在3.2.0中,ClassVisitor变成了抽象类(abstract class ClassVisitor)。

为了解决这一问题,最好的办法就是版本一致,也就是所有spring的包,最好是同一个版本,或同一阶段的版本。




本文转自远哥博客园博客,原文链接http://www.cnblogs.com/taven/archive/2013/04/02/2994998.html,如需转载请自行联系原作者

相关文章
|
5月前
|
XML Java Nacos
Spring Boot 整合Nacos 版本兼容适配 史上最详细文档
本文介绍SpringBoot整合Nacos的完整流程,涵盖Nacos下载安装、配置中心与服务发现集成、版本兼容性问题及实战配置。重点解决SpringBoot 3.3.0与Nacos版本适配难题,推荐使用Spring Cloud Alibaba方案,并提供项目开源地址供参考学习。
|
6月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
1232 0
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
32440 0
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
1999 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
前端开发 Java Spring
【非降版本解决】高版本Spring boot Swagger 报错解决方案
【非降版本解决】高版本Spring boot Swagger 报错解决方案
1162 3
|
JavaScript 安全 Java
Spring Boot中的版本兼容性处理
Spring Boot中的版本兼容性处理
1422 0
|
JavaScript 安全 Java
Spring Boot中的版本兼容性处理
Spring Boot中的版本兼容性处理
|
JSON 安全 Java
Spring Security6版本变化内容
Spring Security6版本变化内容
1081 2
|
Cloud Native Dubbo Java
如何确定微服务项目中Spring Boot、Spring Cloud、Spring Cloud Alibaba三者之间的版本
如何确定微服务项目中Spring Boot、Spring Cloud、Spring Cloud Alibaba三者之间的版本
906 0