今天把自己的一个项目,从 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 {
...
|
class ClassMetadataReadingVisitor extends ClassVisitor implements ClassMetadata {
...
|
大家都看到问题在哪了吧,3.0.6中,ClassVisitor 是一个接口(interface ClassVisitor),而在3.2.0中,ClassVisitor变成了抽象类(abstract class ClassVisitor)。
为了解决这一问题,最好的办法就是版本一致,也就是所有spring的包,最好是同一个版本,或同一阶段的版本。
分享到:
相关推荐
Spring3.2.0 是该框架的一个重要版本,包含了多项改进和新特性,旨在提高开发效率和应用性能。 1. **依赖注入(Dependency Injection, DI)** Spring3.2.0 继续强化了其核心的依赖注入特性,允许开发者通过配置...
Spring 3.2.0是该框架的一个重要版本,它带来了许多增强的功能和改进,以提升开发效率和应用程序的性能。这个压缩包包含了一系列与Spring 3.2.0相关的资源,如文档、库文件和源代码,对于开发者来说是学习和开发的...
Spring 3.2.0是该框架的一个重要版本,包含了多个关键改进和新特性,旨在提高开发效率和应用性能。让我们深入探讨一下Spring 3.2.0中的核心知识点。 1. **AOP(面向切面编程)**:Spring 3.2.0在AOP方面做了优化,...
Spring 3.2.0是Spring框架的一个重要版本,它为开发者提供了许多增强的功能和优化。这个jar包包含了Spring框架的核心组件,使得开发者能够轻松构建基于Java的企业级应用。让我们详细了解一下Spring 3.2.0中的关键...
spring3.2.0 api 根据官方javadocs制作的最新API chm格式的
Spring 3.2.0.M1 是Spring框架的一个重要版本,它在3.x系列中扮演着承上启下的角色,不仅包含了之前版本的功能优化,还引入了一些新的特性和改进。这个版本为开发者提供了更强大的工具和更灵活的配置选项,尤其是在...
Spring 3.2.0是该框架的一个重要版本,提供了许多增强特性和改进,旨在提升开发者效率和应用性能。这个API文档是开发者理解和使用Spring 3.2.0的关键资源。 首先,`spring-3.2.0api带索引.chm`文件包含了一个完整的...
spring所需要的jar包
Spring 3.2.0 是该框架的一个稳定版本,包含了多个关键模块和改进,为开发者提供了丰富的功能和强大的支持。 1. **IoC(Inversion of Control)容器**: Spring 的核心特性之一就是控制反转(IoC)。IoC 容器负责...
Spring 3.2.0是该框架的一个重要版本,它包含了多个改进和新特性,旨在提高开发效率和应用的可维护性。 在Spring 3.2.0中,最重要的改进之一是对Java配置的支持。以前,Spring主要依赖XML配置来定义bean和它们之间...
Spring 3.2.0是该框架的一个重要版本,带来了许多改进和新特性,旨在提升开发效率和应用程序的性能。这个压缩包包含的是Spring 3.2.0版本的jar包,这些jar文件是构建基于Spring的应用程序的基础组件。 1. **Spring...
Spring3.2.0版本是一个重要的里程碑,引入了许多改进和新特性,旨在提高开发效率和应用性能。 在Spring3.2.0框架中,主要包括以下核心组件和模块: 1. **Spring Core**:这是Spring框架的基础,提供IoC(Inversion...
Spring 3.2.0.RELEASE是Spring框架在2012年发布的一个重要版本,它在之前的版本基础上进行了大量的优化和增强,主要特点包括: 1. **增强的Web支持**:Spring 3.2加强了对现代Web开发的支持,特别是对于RESTful Web...
Spring 3.2.0是该框架的一个稳定版本,提供了许多改进和新功能,例如: 1. **简化配置**:使用Java配置和注解,减少了XML配置的繁琐。 2. **更好的类型安全**:通过使用@Autowired注解,可以实现类型安全的依赖注入...
在“spring3.2.0.rar”压缩包中,包括了“commons-logging.jar”,这是一个常用的日志抽象层,Spring框架会依赖它来记录各种级别的日志信息。这个库提供了一个简单的接口,可以适配多种日志实现,如log4j、java.util...
spring3.2.0的包
spring-core-3.2.0.RELEASE-sources.jar (spring 3.2.0源码source),加载在Eclipse里面进行源码查看。
在压缩包"spring-3.2.0-dependencies"中,我们可以找到这些模块对应的JAR文件,每个文件都对应一个特定的功能模块。开发者可以根据项目需求,选择性地引入这些依赖,避免了不必要的包体积和潜在的冲突问题。 使用...