应用启动异常:
class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class
异常信息解析
类ClassMetadataReadingVisitor 需要实现了一个接口 ClassVisitor,但是ClassMetadataReadingVisitor 类却继承了ClassVisitor;
显然需要和现实不一致,应该是版本不一致导致;
该问题一般是出现在系统更新时,即以前好好的,更新了某jar后导致;
问题多出现在spring版本更新上:
使用spring3.2以下版本,需要引入spring-asm.jar,而spring3.2以上版本则不需要引入;
spring3.2以下版本中ClassVisitor以接口的形式存在于spring-asm jar中,而spring3.2以上版本中ClassVisitor 和 ClassMetadataReadingVisitor 以类的形式在spring-core中定义了
异常解决
- 统一spring的版本;
- 排除项目中所有的 spring-asm依赖;
- 有时maven加载包有问题,需要清除本地m2中spring的各个版本,重新下载;