【问题标题】:SpringBootTest javax.validation.ValidationExceptionSpringBootTest javax.validation.ValidationException
【发布时间】:2018-10-31 15:48:16
【问题描述】:

我正在测试我的带注释的 javax 验证。它们在方法参数上带有 @Valid 注释的应用程序中工作正常。但是当我尝试通过使用手动构建验证工厂来测试它们时

Validation.buildDefaultValidatorFactory()

我收到以下错误。

javax.validation.ValidationException:HV000183:无法初始化“javax.el.E​​xpressionFactory”。检查类路径上是否有 EL 依赖项,或者改用 ParameterMessageInterpolator

收到此错误后,我在我的 gradle 文件中添加了 compile "org.glassfish:javax.el:3.0.0" 并开始工作。为什么,验证工作在应用程序中不需要org.glassfish:javax.el,但在手动构建验证工厂时需要?

【问题讨论】:

    标签: java spring spring-boot spring-webflux


    【解决方案1】:

    Hibernate Validator 需要统一表达式语言的实现来评估约束违规消息中的动态表达式。

    当应用程序在 Java EE 容器中运行时,容器已经提供了 EL 实现,这就是为什么不需要添加额外的依赖项。

    【讨论】:

      猜你喜欢
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 2022-01-14
      • 2020-03-13
      • 2011-10-14
      • 1970-01-01
      • 2020-05-02
      相关资源
      最近更新 更多