博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring 项目中的一个异常
阅读量:6841 次
发布时间:2019-06-26

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

  hot3.png

今天把自己的一个Demo项目,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的包,最好是同一个版本,或同一阶段的版本。

转载于:https://my.oschina.net/wxdl/blog/700259

你可能感兴趣的文章
[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】...
查看>>
Android开发视频教学第一季(1-16集)视频&源码下载
查看>>
linux下共享内存mmap和DMA(直接访问内存)的使用 【转】
查看>>
设置IE浏览器代理上网
查看>>
Ext.Net学习笔记08:Ext.Net中使用数据
查看>>
SharePoint 2013 开发——其他社交功能
查看>>
充满魅惑的GetType(VB2005)
查看>>
PS网页设计教程XX——在Photoshop中创建一个七彩糖果店网站布局
查看>>
[IE&FireFox兼容]JS对select操作
查看>>
CSS hack
查看>>
如何查PostgreSQL 数据库中所有的表
查看>>
Linux内核驱动--mmap设备方法【原创】
查看>>
ELK之日志查询、收集与分析系统
查看>>
第6章 迭代循环与项目结束
查看>>
linux Shell的使用
查看>>
VS NuGet使用
查看>>
Hive中实现group concat功能(不用udf)
查看>>
从源代码分析Universal-Image-Loader中的线程池
查看>>
Navicat Premium 12 模型导出sql
查看>>
HBase入门
查看>>