【问题标题】:spring3 mvc @Valid annotation cannot be foundspring3 mvc @Valid注解找不到
【发布时间】:2010-11-04 16:10:20
【问题描述】:

我尝试使用@Valid 注解,但 Eclipse 总是给出“Valid cannot be resolve to a type”错误。我正在使用 spring3 库。

我已将 hibernate-validator-4.1.0.Final.jar 导入到我的 WEB-INF/lib 目录中。但是,这并不能解决问题。

任何帮助表示赞赏!

【问题讨论】:

  • Valid.class 在 JAR 中吗?

标签: java spring hibernate-validator


【解决方案1】:

@Valid 属于 JSR-303。您可以使用此依赖项通过 maven 获取它:

<dependency>
  <groupId>javax.validation</groupId>
  <artifactId>validation-api</artifactId>
  <version>1.0.0.GA</version>
</dependency>

或者你可以下载它from this page

【讨论】:

  • 不需要直接添加,反正需要JSR-303实现,对API有传递依赖。
  • 感谢您的回复。是的。我搞定了。我只是发现有两种类型的 @Valid 注释。第一种类型是从 Hibernate Validator jar 导入的方法级别 @Valid。第二种类型是参数级别@Valid,它是从validation-api jar 导入的。要同时使用两者,只需将它们添加到 WEB-INFO/lib 中。再次感谢!!!!
【解决方案2】:

据我所知,@Valid 注释是validation-api JAR 的一部分,您可以在Hibernate Validator 的lib 目录中找到它,因为您已经下载了Hibernate 实现。 @Valid 是 javax.validation 注释 API 的一部分。您可以将此 JAR 添加到您的类路径中,以便能够正确引用注释。

【讨论】:

    【解决方案3】:

    我有同样的问题(Maven 项目)。我跟着下面,它工作:

    1. 在 pom.xml 中添加以下依赖项
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
    </dependency>
    
    1. 保存,Maven会自动下载依赖jar文件

    2. 重启应用

    注意:不必提及版本,因为它已经在 Spring Boot Dependencies 中定义。否则下面应该可以工作:

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
    </dependency>
    

    来源:https://mvnrepository.com/artifact/javax.validation/validation-api/2.0.1.Final

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-21
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 2013-06-15
      • 2012-12-31
      相关资源
      最近更新 更多