java.lang.NoClassDefFoundError: javax/validation/valueextraction/ValueExtractorDeclarationException

今天部署环境遇到这个问题,查了好长时间终于解决了;

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>

记住,随着开发越来越深入,遇到的问题千奇百怪,需要我们随时随地去总结一些解决问题的方式和记录结果;

现在博客各大网站都有很多解决问题的答案,但是这写答案都是三四手,神奇一些滥竽充数的博客,希望各位遇到问题比较优质且解决问题的博客大家收藏一下,备份一下,或者自己记录一下,这也是对自己的一种提升;