【问题标题】:Method-level validation in Spring 3.2.3 with Hibernate Validator 5.0.0.finalSpring 3.2.3 中使用 Hibernate Validator 5.0.0.final 的方法级验证
【发布时间】:2013-07-17 03:36:57
【问题描述】:

我已在服务类中启用方法级别验证。但是我在应用程序启动期间得到了java.lang.NoClassDefFoundError。任何人都知道此问题的解决方法:

Caused by: java.lang.NoClassDefFoundError: org/hibernate/validator/method/MethodConstraintViolationException
    at org.springframework.validation.beanvalidation.MethodValidationPostProcessor.afterPropertiesSet(MethodValidationPostProcessor.java:102)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
    ... 55 more

【问题讨论】:

  • 你可能在类路径中找到了错误的 jar - org.hibernate.validator.method.MethodConstraintViolationException 仍然在 5.0.0.Final 的那个包中吗?
  • 可能是我的问题不清楚。 org.hibernate.validator.method.MethodConstraintViolationException 已被弃用,并且自休眠验证器 5.0.0.final 以来不再存在。我现在面临的问题是当我在spring上下文中定义以下内容时,Spring框架在应用程序启动期间不断抱怨NoClassDefFoundError:跨度>
  • 我知道如果我切换回版本 4.3.1.final,问题将得到解决,但我想知道适用于版本 5.0.0 及更高版本的变通解决方案。
  • AFAIK Hibernate 5+ 支持将在 Spring 4 中添加。你被 4.x 卡住了。

标签: spring hibernate-validator


【解决方案1】:

只有即将推出的 Spring 4 (https://jira.springsource.org/browse/SPR-10466) 才支持 Hibernate 5 自定义集成。

如果您真的想使用 Hibernate 5,则需要将其用作标准 JSR 303 bean 验证提供程序和标准消息插值机制(即不与 MessageSource 集成,但标准 ValidationMessages.properties)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多