Spring整合ActiveMQ启动后包报异常
作者:互联网
org.springframework.beans.factory.BeanDefinitionStoreException:
Failed to read candidate component class:
file [C:\Users\lenovo\Desktop\aboutSpring-master\Spring-ActiveMQ\target\classes\com\test\creator\MyMessageCreator.class];
nested exception is java.lang.IncompatibleClassChangeError:
class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class
解决办法:
查看 ClassVisitor 所在的jar 是spring-asm 项目中的版本是 spring-asm:jar:3.1.2.RELEASE,而在sring4.0.7中ClassVisitor 和 ClassMetadataReadingVisitor 已经定义了
所以排除项目中所有的 spring-asm依赖
方法一:最简单的办法:统一spring的版本即可
activemq-core里的spring-context(3.0.3)包跟其他的spring包版本(4.1.3.RELEASE)
不一样,把activeMq里的jar包注掉,然后自己导一个版本一样的spring-context的jar包
如何查看相关包树形的引用结构,命令:mvn dependency:tree
方法二:把activemq-core包下面的spring-asm排除在外即可。
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.5.0</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
</exclusion>
</exclusions>
</dependency>
标签:core,包报,Spring,jar,springframework,spring,org,ActiveMQ,asm 来源: https://www.cnblogs.com/chebin/p/16540897.html