博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 3.2.0 版本的一个 ClassMetadataReadingVisitor 错误
阅读量:6424 次
发布时间:2019-06-23

本文共 1063 字,大约阅读时间需要 3 分钟。

今天把自己的一个项目,从 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,如需转载请自行联系原作者

你可能感兴趣的文章
Swt/Jface进度条
查看>>
.NET建议使用的大小写命名原则
查看>>
Git:错误:error:src refspec master does not match any
查看>>
SSIS 数据类型和类型转换
查看>>
Oracle数据库“Specified cast is农田valid”
查看>>
数据层新思路,写数据库无关的数据层 ORM在数据库内做更为合适
查看>>
armv8(aarch64)linux内核中flush_dcache_all函数详细分析【转】
查看>>
房地产英语 Real estate词汇
查看>>
python接口自动化测试(八)-unittest-生成测试报告
查看>>
第 26 章 MySQL
查看>>
C#中三种截屏方式总结
查看>>
Spring.net 学习笔记之ASP.NET底层架构
查看>>
C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
查看>>
Java 动态太极图 DynamicTaiChi (整理)
查看>>
微信公众平台后台编辑器上线图片缩放和封面图裁剪功能
查看>>
git使用教程2-更新github上代码
查看>>
张掖百公里,再次折戟
查看>>
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
查看>>
本期最新 9 篇论文,帮你完美解决「读什么」的问题 | PaperDaily #19
查看>>
图解SSIS监视文件夹并自动导入数据
查看>>