Failed to read candidate component class:file错误分析和处理

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\MyWorkspace\spring_mybatis1222\out\test\spring_mybatis1222\cn\itcast\ssm\mapper\UserMapperTest.class]; nested exception is java.lang.IllegalArgumentException

at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:281)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242)
at org.mybatis.spring.mapper.ClassPathMapperScanner.doScan(ClassPathMapperScanner.java:155)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.scan(ClassPathBeanDefinitionScanner.java:220)
at org.mybatis.spring.mapper.MapperScannerConfigurer.postProcessBeanDefinitionRegistry(MapperScannerConfigurer.java:315)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at cn.itcast.ssm.mapper.UserMapperTest.setUp(UserMapperTest.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
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:52)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:257)
... 31 more

解决:

查看编译环境用的是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上编译。
spring-asm包其实是不需要的,有的话,就删除

大概原因:

原因:spring3.2版本不支持jdk1.8,只能到jdk1.7;大概是asm有问题。

1、安装jdk1.7;

2、修改项目的编译级别为1.7 ;项目右键properties,选择 Java Compiler页面右侧选择1.7,并修改Project Facets中的java version为1.7

3、修改tomcat服务器所使用的jre:jre为1.7

4、重新部署

最新文章

  1. 样条曲线的Fortran程序
  2. 几种任务调度的 Java 实现方法与比较Timer,ScheduledExecutor,Quartz,JCronTab
  3. 检测CPU是否支持虚拟化
  4. real server 的一个启动脚本例子
  5. [置顶] SPL讲解(6)--Condition篇
  6. JAVA学习(二):JDK介绍及其结构、用途
  7. [河南省ACM省赛-第三届] 房间安排 (nyoj 168)
  8. 6101 最优贸易 (双向spfa)
  9. 警告:Establishing SSL connection without server&#39;s identity verification is not recommended
  10. Java之ArrayList自定义排序,通过实现comparator比较器接口
  11. npm 淘宝源
  12. 【深入理解JVM】:Java类继承关系中的初始化顺序
  13. 使用nginx实现负载均衡的配置
  14. aliyun阿里云Maven仓库配置
  15. 【刷题】LOJ 6226 「网络流 24 题」骑士共存问题
  16. Java迭代器用法
  17. Mysql alter常见使用语句
  18. 矩阵 matrix
  19. Spring Boot 官方文档学习(一)入门及使用
  20. Jquery 事件执行两次

热门文章

  1. 蓝牙TWS耳机IBRT的原理初分析
  2. Flask中的CBV以及正则表达式
  3. python学习(索引/切片)
  4. webshell之一句话木马变形
  5. [USACO09JAN]安全出行Safe Travel 最短路,并查集
  6. .NET Core ORM 类库Petapoco中对分页Page添加Order By对查询的影响
  7. Libevent::evhttp服务器
  8. 浅谈微服务架构与.Net Core
  9. 富文本编辑器(wangEditor)
  10. 百万年薪python之路 -- 函数的动态参数