记录一次springboot对jsp支持配置的bug解决: Error creating bean with name 'defaultValidator'

博主自学springboot,跟着书本猛敲,书本springboot版本1,博主不信邪,硬刚2…于是中间出现各种莫名奇妙bug,本次这个bug可谓是巨坑,这里讲述调bug的方法,嫌字多的小伙伴直接文章末尾,解决方案在那里

ConfigServletWebServerApplicationContext : Exception encountered during context
initialization - cancelling refresh attempt:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
defaultValidator’ defined in class path resource
[org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Bean
instantiation via factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]: Factory method
‘defaultValidator’ threw exception; nested exception is java.lang.NoClassDefFoundError:
javax/el/ELManager

加粗部分关键字中javax/el/ELManager可能不同,但解决方案都大同小异
看以上日志,应该是验证器出现了冲突.这里直接Debug:ELManager源码

第一步:打Exception断点 NoClassDefFoundError 定位问题如下

**断点定位:**查看该段代码j版本为:hibernate-validator\6.0.18.Final
断点定位

**代码追踪:**追踪上述代码接口并往下调,发现这一部分相同的方法…
巨坑,对应版本为hibernate-validator\5.3.6.Final
在这里插入图片描述

博主初学,本次debug应该是项目6.0.18.Final这个版本代码覆盖了5.3.6.Final这部分代码引起,否则debug不会停留方法之上,具体原因不详

查看maven包情况发现冲突
在这里插入图片描述
查看项目maven调用树发现问题:里层module项目maven

在这里插入图片描述

最外层项目的maven…hibernate隐藏在pom里面,不仔细看不出来,对初学者来讲,真的是巨坑,博主硬撸1小时发现的…
在这里插入图片描述

**解决方案:**找到原因之后就很简单了,改掉这个坑爹的版本,我也不知道为啥6不行,反正debug出来是这样就暂时先这样吧
在这里插入图片描述

javax/el/ELManager有些小伙伴可能不一样,但解决思路大同小异,本次调bug就记录到这里,欢迎随时提供各种bug!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值