springMVC的jdk版本与spring的jar包不兼容带来的错误案列:Failed to read candidate component class

最近在做spring项目时遇到一个奇怪的问题,下面是错误截图(错误信息很多,这里只截取关键部分,由于Failed to read…这一行错误提示太长,所以我分三张图把错误信息完整的截取出来了,大家仔细看下就明白了)
(一)在这里插入图片描述
(二)在这里插入图片描述
(三)
在这里插入图片描述
看到错误的提示,瞬间蒙圈了。咋回事呀!于是乎,按照提示路径去工作空间找呀找,终于找到了。
在这里插入图片描述
仔细一看,哎!A.class类在呀!怎么回事,竟然给我整了这个。

不着急接着看配置文件。
在这里插入图片描述
该注释的全部注释了,发现了只有mvc:annotation-driven</mvc:annotation-driven>和<context:component-scan base-package=“com.springmvc.s”></context:component-scan>


这三行代码了。首先排除 视图解析器,为什么,因为都没有成功访问handler。
接着排除mvc:annotation-driven</mvc:annotation-driven>,学习过springmvc的人都知道,这个是一个很重要的注解。他可以注册
RequestMappingHandlerAdapter(请求处理适配器),RequestMappingHandlerMapping(请求处理映射器)。
所以它支持@RequestMapping注解。可以处理@RequestMapping映射的方法。而我们处理类本身使用的就是@RequestMapping。所以它也可以排除掉。
最后问题就到<context:component-scan base-package=“com.springmvc.s”></context:component-scan>它上面了。
把它注释掉后,而不使用扫描,使用bean标签生成bean时,却可以正常运行。
最后问题大致可以确定可能是jdk 版本和spring 版本 不一致 导致 。
错误原因 :JDK版本与Spring版本不匹配,因为我使用的JDK是1.8的,而Spring使用的是 3.2.0,导致在使用context:component-scan扫描时报错
解决办法 :降低JDK版本或升级Spring版本,我使用的是升级Spring版本4.0,jdk是1.8 发现错误消失了。
到这里问题就完美解决了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值