java.lang.NoClassDefFoundError: javax/validation/valueextraction/ValueExtractorDeclarationException
今天部署环境遇到这个问题,查了好长时间终于解决了;
问题原因:
由于jar包hibernate-validator、validation-api 不兼容。
解决方案:
(1). 简单粗暴:根据需求删除不兼容的jar包,删除jar包必须在保证代码没有使用的情况下,不知道的尽量别删除;
(2).解决兼容问题: 版本不兼容,就找兼容版本。
升级hibernate-validator版本:
org.hibernate.validator
hibernate-validator
5.1.3.Final
javax.validation
validation-api
1.1.0.Final
升级validation-api版本:
org.hibernate.validator
hibernate-validator
6.0.5.Final
javax.validation
validation-api
2.0.1.Final
记住,随着开发越来越深入,遇到的问题千奇百怪,需要我们随时随地去总结一些解决问题的方式和记录结果。
更多参考:
Hibernate Validator 5x is not compatible with validation-api 1.0.x
JPA 2.0 : Exception to use javax.validation.* package in JPA 2.0