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,如需转载请自行联系原作者

相关文章
|
6月前
|
Java Nacos Spring
Nacos spring-cloud 版本没找到共享配置文件的说明,Nacos服务中共享,并且可以被多个应用获取和使用。这个在官网哪里有说明啊
Nacos spring-cloud 版本没找到共享配置文件的说明,Nacos服务中共享,并且可以被多个应用获取和使用。这个在官网哪里有说明啊
35 1
|
1月前
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
500 0
|
6月前
|
Cloud Native Java Go
解决 Spring Boot 和 Gradle Java 版本兼容性问题:A problem occurred configuring root project ‘demo1‘. > Could n
解决 Spring Boot 和 Gradle Java 版本兼容性问题:A problem occurred configuring root project ‘demo1‘. > Could n
388 0
|
4月前
|
前端开发 Java Nacos
nacos 2.0 版本在spring cloud 2022.0.0.0-RC2读取配置文件失败
nacos 2.0 版本在spring cloud 2022.0.0.0-RC2读取配置文件失败
110 0
|
4月前
|
Java API Maven
springboot 、spring-data-elasticsearch、elasticserach的版本对应关系
springboot 、spring-data-elasticsearch、elasticserach的版本对应关系
351 0
|
8月前
|
安全 Java API
Spring版本命名规则
常见软件的版本命名举例如下表所示。
95 0
|
8月前
|
Java 数据库连接 mybatis
mybatis与spring整合版本对应关系参考
mybatis与spring整合版本对应关系参考
1022 0
|
9月前
|
XML Java 数据格式
由于spring3.x版本与jdk1.8不兼容导致的java.lang.ArrayIndexOutOfBoundsException: 22272
由于spring3.x版本与jdk1.8不兼容导致的java.lang.ArrayIndexOutOfBoundsException: 22272
|
9月前
|
Java
SpringBoot集成MinIO8.3.x 依赖冲突解决,至简之招覆盖spring-boot-dependencies的依赖版本声明
SpringBoot集成MinIO8.3.x 依赖冲突解决,至简之招覆盖spring-boot-dependencies的依赖版本声明
|
9月前
|
Java Spring
Spring 官网无法查看的版本依赖如何查看?
Spring 官网无法查看的版本依赖如何查看?
51 0