异常解决[ asm ClassReader failed to parse class file]
15:56:17,364 []-[DEBUG] Resolved location pattern [classpath*:com/baoy/**/*.class] to resources [file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\base\dao\JdbcTempBaseDao.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\bean\User.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\dao\impl\UserDaoImpl$1.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\dao\impl\UserDaoImpl$UserRowMapper.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\dao\impl\UserDaoImpl.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\dao\UserDao.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\main\Start.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\service\impl\UserServiceImpl.class], file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\service\UserService.class]] Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\base\dao\JdbcTempBaseDao.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:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\base\dao\JdbcTempBaseDao.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:195) 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.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) at com.baoy.main.Start.main(Start.java:16) 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:\cache\eclipse4mvn-workplace\DubboDemo\target\classes\com\baoy\base\dao\JdbcTempBaseDao.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) ... 24 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) ... 27 more
“ASM ClassReader failed to parse class file”是其中主要的原因。检查Maven的类库,没有发现问题,无asm显性依赖,其依赖产生于spring本身。
a. 使用jdk7
b. 升级spring 4
本人使用 jdk1.8 spring 使用时很早之前的demo spring- 3.1.12.RELEASE ,修改 spring 版本为 4.3.12.RELEASE之后,问题解决
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
1. **ClassReader**:这是ASM的核心类,负责读取和解析`.class`文件的字节码。它通过类似SAX的事件驱动模型工作,当遇到类、注解、字段或方法等结构时,会触发相应的访问器(Visitor)进行处理。ClassReader内部维护...
ASM和ClassFile是Java世界中的两个重要概念,它们在字节码操作和理解Java虚拟机(JVM)内部工作原理方面起着关键作用。 首先,ClassFile是Java编译器生成的字节码文件的结构,它以二进制形式存储了类或接口的所有元...
nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis- config.xml]; nested exception is org.apache.ibatis.builder....
ASM是一个开源的Java字节码操控和分析框架,它能够用来动态生成类或者增强已有类的功能。ASM可以被用来创建Java代理、实现元编程、甚至深入到Java虚拟机(JVM)层面进行性能优化。在Java开发中,ASM库允许我们直接...
Java ClassFile结构详解 Java ClassFile是Java虚拟机(JVM)中的一种数据结构,用于存储Java类的信息。ClassFile结构是Java虚拟机 Specification中The class File Format部分所定义的。下面是ClassFile结构的详细...
NULL 博文链接:https://name327.iteye.com/blog/1554558
ASM,全称为Advanced Classfile Manipulation,是一个Java字节码操控和分析框架。它能够用来动态生成类或者增强已有类的功能。ASM的核心功能是读取、修改并写入Java字节码,这使得它在诸如AOP(面向切面编程)、代码...
ASM4是中国Java开发者常用的一款字节码操作框架ASM的第四个主要版本,它主要用于动态生成和分析Java字节码。ASM是一个低级别的库,可以直接操作和生成类的字节码,这在创建编译器、代码分析工具以及运行时代码修改等...
在实际应用中,ASM Tree库通常与ASM的其他组件,如`ClassReader`和`ClassWriter`一起使用。`ClassReader`可以读取字节码并创建一个`ClassNode`实例,而`ClassWriter`则能根据修改后的`ClassNode`生成新的字节码。...
### ASM内网安全解决方案知识点详解 #### 一、概述 ASM内网安全解决方案旨在为企业提供一套全面、高效的网络安全管理方案,以确保企业内部网络的安全稳定运行。该解决方案针对内网中存在的各类安全问题提供了综合性...
2. **读取字节码**:使用ASM提供的`ClassReader`读取.class文件或字节码流,然后调用`accept()`方法传递给`ClassNode`。 3. **遍历并修改AST**:遍历`ClassNode`的各个节点,如方法、字段等,进行所需的操作。 4. **...
它包含了`ClassReader`和`ClassWriter`两个关键类,分别用于读取和写入类文件。`ClassReader`可以解析一个类的字节码,并触发用户自定义的事件处理器(如访问控制、方法体等)。`ClassWriter`则用于生成新的字节码...
在ASM中,`ClassWriter`类是核心组件之一,它负责构建和输出`.class`文件的字节码。`ClassWriter`是基于`ClassVisitor`接口实现的,因此它包含了对类的各种元数据进行访问和处理的方法。 `ClassWriter`类中包含了...
ASM的API设计简洁且强大,主要由`ClassReader`和`ClassWriter`两个核心类构成。`ClassReader`可以读取并解析一个类文件,提供一系列方法来访问类文件中的各种元数据,如类名、字段、方法、注解等。`ClassWriter`则...
RAC_Oracle11g_asm_grid_openfile 搭建集群环境 本文主要讲述如何使用 openfile 实现共享磁盘,使用 asm 进行磁盘管理,使用 grid 进行集群管理,使用 oracle 实现数据库管理。下面将详细介绍相关的知识点: ...
ASM库的主要组件包括ClassReader、ClassWriter和访问器工厂(Accessors)。ClassReader用于读取和解析.class文件,提供了一个API来遍历和访问类的结构。ClassWriter则负责生成新的.class文件,可以根据ClassReader...
在这个包里,你可以找到一些重要的类,如ClassReader、ClassVisitor和ClassWriter等,它们都是ASM库的核心API。 除此之外,ASM库也提供了一些其他的功能。例如,它可以生成二进制的class文件,也可以在类被加载入...
ASM的API主要分为两个部分:`ClassReader`和`ClassWriter`。`ClassReader`用于读取和解析类文件,而`ClassVisitor`接口则定义了访问和修改类结构的方法。开发者可以创建自己的`ClassVisitor`子类,实现所需的操作。`...