`

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的包,最好是同一个版本,或同一阶段的版本。

分享到:
评论

相关推荐

    spring3.2.0jar包下载

    Spring3.2.0 是该框架的一个重要版本,包含了多项改进和新特性,旨在提高开发效率和应用性能。 1. **依赖注入(Dependency Injection, DI)** Spring3.2.0 继续强化了其核心的依赖注入特性,允许开发者通过配置...

    spring3.2.0最新版本

    Spring 3.2.0是该框架的一个重要版本,它带来了许多增强的功能和改进,以提升开发效率和应用程序的性能。这个压缩包包含了一系列与Spring 3.2.0相关的资源,如文档、库文件和源代码,对于开发者来说是学习和开发的...

    spring3.2.0源码

    Spring 3.2.0是该框架的一个重要版本,包含了多个关键改进和新特性,旨在提高开发效率和应用性能。让我们深入探讨一下Spring 3.2.0中的核心知识点。 1. **AOP(面向切面编程)**:Spring 3.2.0在AOP方面做了优化,...

    Spring 3.2.0 jar包

    Spring 3.2.0是Spring框架的一个重要版本,它为开发者提供了许多增强的功能和优化。这个jar包包含了Spring框架的核心组件,使得开发者能够轻松构建基于Java的企业级应用。让我们详细了解一下Spring 3.2.0中的关键...

    spring3.2.0 API CHM

    spring3.2.0 api 根据官方javadocs制作的最新API chm格式的

    spring3.2.0.m1

    Spring 3.2.0.M1 是Spring框架的一个重要版本,它在3.x系列中扮演着承上启下的角色,不仅包含了之前版本的功能优化,还引入了一些新的特性和改进。这个版本为开发者提供了更强大的工具和更灵活的配置选项,尤其是在...

    Spring 3.2.0 API_CHM

    Spring 3.2.0是该框架的一个重要版本,提供了许多增强特性和改进,旨在提升开发者效率和应用性能。这个API文档是开发者理解和使用Spring 3.2.0的关键资源。 首先,`spring-3.2.0api带索引.chm`文件包含了一个完整的...

    spring3.2.0 jar包

    spring所需要的jar包

    spring-3.2.0.rar

    Spring 3.2.0 是该框架的一个稳定版本,包含了多个关键模块和改进,为开发者提供了丰富的功能和强大的支持。 1. **IoC(Inversion of Control)容器**: Spring 的核心特性之一就是控制反转(IoC)。IoC 容器负责...

    spring 3.2.0

    Spring 3.2.0是该框架的一个重要版本,它包含了多个改进和新特性,旨在提高开发效率和应用的可维护性。 在Spring 3.2.0中,最重要的改进之一是对Java配置的支持。以前,Spring主要依赖XML配置来定义bean和它们之间...

    spring3.2.0相关jar包以及xsd.zip

    Spring 3.2.0是该框架的一个重要版本,带来了许多改进和新特性,旨在提升开发效率和应用程序的性能。这个压缩包包含的是Spring 3.2.0版本的jar包,这些jar文件是构建基于Spring的应用程序的基础组件。 1. **Spring...

    Spring3.2.0 框架jar包及Spring依赖jar包

    Spring3.2.0版本是一个重要的里程碑,引入了许多改进和新特性,旨在提高开发效率和应用性能。 在Spring3.2.0框架中,主要包括以下核心组件和模块: 1. **Spring Core**:这是Spring框架的基础,提供IoC(Inversion...

    spring3.2.0.RELEASE版jar包【整合版,包含所有的主要jar包】-正式版下载

    Spring 3.2.0.RELEASE是Spring框架在2012年发布的一个重要版本,它在之前的版本基础上进行了大量的优化和增强,主要特点包括: 1. **增强的Web支持**:Spring 3.2加强了对现代Web开发的支持,特别是对于RESTful Web...

    axis2 + spring3.2.0

    Spring 3.2.0是该框架的一个稳定版本,提供了许多改进和新功能,例如: 1. **简化配置**:使用Java配置和注解,减少了XML配置的繁琐。 2. **更好的类型安全**:通过使用@Autowired注解,可以实现类型安全的依赖注入...

    spring3.2.0.rar

    在“spring3.2.0.rar”压缩包中,包括了“commons-logging.jar”,这是一个常用的日志抽象层,Spring框架会依赖它来记录各种级别的日志信息。这个库提供了一个简单的接口,可以适配多种日志实现,如log4j、java.util...

    spring3.2.0的包

    spring3.2.0的包

    spring-core-3.2.0.RELEASE-sources.jar (spring 3.2.0源码source)

    spring-core-3.2.0.RELEASE-sources.jar (spring 3.2.0源码source),加载在Eclipse里面进行源码查看。

    spring-3.2.0.RELEASE-dependencies依赖包.zip

    在压缩包"spring-3.2.0-dependencies"中,我们可以找到这些模块对应的JAR文件,每个文件都对应一个特定的功能模块。开发者可以根据项目需求,选择性地引入这些依赖,避免了不必要的包体积和潜在的冲突问题。 使用...

Global site tag (gtag.js) - Google Analytics