SpringMVC 异常信息ASM ClassReader failed to parse class file的问题解决
1. 环境信息:
Spring 3.2.0, JDK 1.8.0
2. 运行简单的程序,出现以下错误信息:
2. 运行简单的程序,出现以下错误信息:
- Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\NewWorkSpace\ep-user\target\test-classes\org\homework\ep\user\base\BaseTest.class]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [D:\NewWorkSpace\ep-user\target\test-classes\org\homework\ep\user\base\BaseTest.class]; nested exception is java.lang.IllegalArgumentException
- at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:290)
- at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242)
- at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84)
- at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
- at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1438)
- at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428)
- at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:185)
- at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139)
- at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108)
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
- at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
- at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
- at org.springframework.test.context.support.AbstractGenericContextLoader.loadBeanDefinitions(AbstractGenericContextLoader.java:233)
- at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:117)
- at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
- at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)
- at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248)
- at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64)
- at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91)
- ... 25 more
- Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [D:\NewWorkSpace\ep-user\target\test-classes\org\homework\ep\user\base\BaseTest.class]; nested exception is java.lang.IllegalArgumentException
- at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:56)
- at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
- at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
- at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:266)
- ... 48 more
- Caused by: java.lang.IllegalArgumentException
- at org.springframework.asm.ClassReader.<init>(Unknown Source)
- at org.springframework.asm.ClassReader.<init>(Unknown Source)
- at org.springframework.asm.ClassReader.<init>(Unknown Source)
- at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:53)
- ... 51 more
3. 问题分析
“ASM ClassReader failed to parse class file”是其中主要的原因。检查Maven的类库,没有发现问题,无asm显性依赖,其依赖产生于spring本身。故分析有可能是spring本身的 问题造成了;但是这么流行的spring,怎么会出错了,我不能这么牛x碰到这么简单的问题吧?
难道是版本?除了版本之外,spring无大区别。经过一般搜索,网上还真有类似的问题:
- Note that the Java 8 bytecode level (-target 1.8, as required by -source 1.8) is only fully supported as of Spring Framework 4.0.
- In particular, Spring 3.2 based applications need to be compiled with a maximum of Java 7 as the target,
- even if they happen to be deployed onto a Java 8 runtime. <span style="font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;color:#222222;font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 249, 227);">Please upgrade to Spring 4 for Java 8 based applications.</span>
所以,看明白了吧,方案有两条:
a. 使用jdk7
b. 升级spring 4
4. 问题解决
最终选择了升级Spring4.1.7, 然后问题解决。
SpringMVC 异常信息ASM ClassReader failed to parse class file的问题解决的更多相关文章
- 异常信息ASM ClassReader failed to parse class file的问题解决
jdk8与spring 3不兼容问题:用jdk7.或者升级到spring4 详情:异常信息ASM ClassReader failed to parse class file的问题解决
- Spring MVC 单元测试异常 Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file
Sping 3.2.8.RELEASE + sping mvc + JDK 1.8运行异常. java.lang.IllegalStateException: Failed to load Appli ...
- ASM ClassReader failed to parse class file解决方法
1. 环境信息: Spring 3.2.2, JDK 1.8, Hibernate 3.5.5 2. 运行简单的程序,出现以下错误信息: [2018-05-25 02:36:58,671] Ar ...
- ASM ClassReader failed to parse class file
ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn' ...
- ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet
严重: Context initialization failedorg.springframework.beans.factory.BeanDefinitionStoreException: Fai ...
- Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file
springframework.version 3.2.6.RELEASE jdk 1.8
- org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably du
如果出现类似下面的错误,原因就是JDK版本太高了,我换成1.7就没事了 Caused by: org.springframework.core.NestedIOException: ASM Class ...
- ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet………
在照着这里例子学习ssm时,在部署阶段遇到了这个问题“ASM ClassReader failed to parse class file - probably due to a new Java c ...
- 调试 FastAdmin 出现 Failed to parse SourceMap
看到群里有人说在调试 FastAdmin出现 SourceMap 出错. 报错信息为: Failed to parse SourceMap 来自 Karson 说明: 这个文件是用于匹配原有less中 ...
随机推荐
- matlab用法总结
1. Matlab怎么判断空矩阵http://www.ilovematlab.cn/thread-48915-1-1.html a=[ ] if isempty(a) 2.matlab寻找多个最大值位 ...
- 【转】爬虫的一般方法、异步、并发与框架scrapy的效率比较
该文非原创文字,文字转载至 jclian91 链接:https://www.cnblogs.com/jclian91/p/9799697.html Python爬虫的N种姿势 问题的由来 ...
- 【hibernate学习杂记】维护关系的一方和不维护关系的一方的区别与联系
双向多对一/一对多例子 维护关系一方为User:多方 不维护关系的一方为Group:一方 以下是多方代码: package Hibernate_demo1.Demo8.Entity.OneToMany ...
- 2049. [SDOI2008]Cave 洞穴勘测【LCT】
Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好 ...
- Eclipse的PHP插件PHPEclipse安装和使用
PHP有很多相当不错的开发工具,如Zend Studio.NetBeans.phpdesigner等,但对于习惯Java编程的程序猿们来说,最常用的还要属Eclipse.那么Eclipse能用于PHP ...
- virtualbox+vagrant学习-2(command cli)-3-vagrant destroy命令
Destroy 格式: vagrant destroy [options] [name|id] 此命令会停止vagrant管理的正在运行的机器,并销毁在机器创建过程中创建的所有资源.在运行这个命令之后 ...
- css自问自答(二)
css自问自答(二) 7.掌握定位的一些属性 position 和 display 属性,以及如何浮动(float)和清除(clear)元素,z-index属性 三个属性控制: position 属性 ...
- smooth l1
1.loss要规范化,这样就不会受图片大小的影响 2.w.h采用log:比较特殊的是w,hw,h的regression targets使用了log space. 师兄指点说这是为了降低w,hw,h产生 ...
- ddt 接口示范以及报告生成html案例
1.数据构造获取我就不写了直接以test_data=[ ] 构造一个简单数据建模.实际你从哪里获取根据情况excel也好yaml也罢 2.用例套件处理,报告生成处理 import ddtimport ...
- sql sever和mysql 卸载及oracle安装
sql sever和mysql的卸载及Oracle安装 目的:本人健忘,以后难免会重装系统啥的,软件卸了装是常有的事,特此写此详细教程,一是方便自己以后重装的时候可以看看:二是如果有某位初学者有幸光临 ...