java.lang.NoClassDefFoundError: javax/validation/valueextraction/ValueExtractorDeclarationException
今天部署环境遇到这个问题,查了好长时间终于解决了;
问题原因:
由于jar包hibernate-validator、validation-api 不兼容。
解决方案:
(1). 简单粗暴:根据需求删除不兼容的jar包,删除jar包必须在保证代码没有使用的情况下,不知道的尽量别删除;
(2).解决兼容问题: 版本不兼容,就找兼容版本,解决时间长,长久维护低。
升级hibernate-validator版本:
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>
5.1
.
3
.Final</version>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>
1.1
.
0
.Final</version>
升级
validation-api版本:
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>
6.0
.
5
.Final</version>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>
2.0
.
1
.Final</version>
记住,随着开发越来越深入,遇到的问题千奇百怪,需要我们随时随地去总结一些解决问题的方式和记录结果;
现在博客各大网站都有很多解决问题的答案,但是这写答案都是三四手,神奇一些滥竽充数的博客,希望各位遇到问题比较优质且解决问题的博客大家收藏一下,备份一下,或者自己记录一下,这也是对自己的一种提升;