spirng3.1换成4.0后报错Exception sending context initialized event to listener instance of class

严重: Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener]

问题起因:
之前整合时ssm时jar包都是从网上打包,自己测试整合后便拿来使用。版本为spring3.1+mybitas3.2+springmvc3.1

spring4以下的版本不支持java8,如这次要使用lambda表达式,整合后写入lambda,jre版本为1.8,程序代码不报错,启动也不报错,运行任何一个action时spring时报如下错误(网上相关文章也找了不少,错误相似,但方法都无用,最后确定我的问题应该是版本冲突):

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\apache-tomcat-8.5.16\webapps\ssm_demo\WEB-INF\classes\com\xf\ssm\demo\action\StudentAction.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 4096
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:262)
org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242)

于是就把spring及mvc相关的jar包都更换为4.0,其他无任何更改。启动时便报错,错误信息如下:
网上查阅各种文章,处理了一个下午,都没用任何作用。

严重: Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener]
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\apache-tomcat-8.5.16\web….

最后用过种种方法后,考虑到应该是jar包冲突,因为我下载的spring4.0中没有一个spring-asm的jar包,把spirng-asm-3.1.jar删除之后,成功解决。

作何也没想到spring3.1无任何问题,换成4.0竟然是因为多了一个spring自己的jar包引起问题。有时候,问题实在解决不了时,尝试下去掉无用jar也许会让人眼前一亮。


以下是网上关于spring-asm的简单了解:

  • Spring独立的asm程序,Spring2.5.6的时候需要asmJar包3.0.6开始提供他自己独立的asmJar
  • 主要是操作PO字节dng码的,在开发中java很少使用一个框架,当spring ,hibernate整合时,他们两者都有asm.jar包,这时就是删除spring下的asm.jar包。

谢谢参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值