Failed to read candidate component class:错误

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\Software\java\apache-tomcat-8.0.49\wtpwebapps\tags_search\WEB-INF\classes\com\analysis\web\dao\BaseDao.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:\Software\java\apache-tomcat-8.0.49\wtpwebapps\tags_search\WEB-INF\classes\com\analysis\web\dao\BaseDao.class]; nested exception is java.lang.IllegalArgumentException
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:290) ~[spring-context-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242) ~[spring-context-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.mybatis.spring.mapper.ClassPathMapperScanner.doScan(ClassPathMapperScanner.java:155) ~[mybatis-spring-1.2.2.jar:1.2.2]
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.scan(ClassPathBeanDefinitionScanner.java:220) ~[spring-context-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.mybatis.spring.mapper.MapperScannerConfigurer.postProcessBeanDefinitionRegistry(MapperScannerConfigurer.java:315) ~[mybatis-spring-1.2.2.jar:1.2.2]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) ~[spring-context-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) ~[spring-context-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410) ~[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) ~[spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) [spring-web-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4852) [catalina.jar:8.0.49]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313) [catalina.jar:8.0.49]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [catalina.jar:8.0.49]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) [catalina.jar:8.0.49]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) [catalina.jar:8.0.49]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_144]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_144]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_144]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_144]
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:\Software\java\apache-tomcat-8.0.49\wtpwebapps\tags_search\WEB-INF\classes\com\analysis\web\dao\BaseDao.class]; nested exception is java.lang.IllegalArgumentException
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:56) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:266) ~[spring-context-3.2.8.RELEASE.jar:3.2.8.RELEASE]
... 18 common frames omitted
Caused by: java.lang.IllegalArgumentException: null
at org.springframework.asm.ClassReader.<init>(Unknown Source) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.asm.ClassReader.<init>(Unknown Source) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.asm.ClassReader.<init>(Unknown Source) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:53) ~[spring-core-3.2.8.RELEASE.jar:3.2.8.RELEASE]

... 21 common frames omitted


将spring从3.1升级到3.2启动tomcat出现如上错误:

仔细检查过web.xml中关于spring配置引入,spring-mvc配置引入都没有问题,以及spring配置文件读取方式,都是对的

引入spring jar包换回成3.1又没有问题,换成3.2又不行,查看编译环境用的是1.8,将1.8降为1.7,问题解决,服务启动正常,

也就是说spring 3.2不支持1.8编译环境,解决办法就是降为1.7编译环境


spring官网说了,要使用java8,只支持spring 4.X以上版本,而spring的使用最低java要求java5及以上,

如果出现例外,那就例外说了,比如一开始spring 3.1就可以在java8上编译。

文章转自:https://blog.csdn.net/yhl_jxy/article/details/52999571


猜你喜欢

转载自blog.csdn.net/qq_23689053/article/details/79669431