【问题标题】:Error in Java Import statement "The import javax.validation.constraints.NotNull cannot be resolved"Java 导入语句中的错误“无法解析导入 javax.validation.constraints.NotNull”
【发布时间】:2012-11-30 16:21:17
【问题描述】:

我是 Java 和 Spring 框架的新手。开发 Spring roo 项目后,在类中发现如下错误:

The import javax.validation.constraints.NotNull cannot be resolved

NotNull cannot be resolved to a type

我正在使用 STS 3.1.0.RELEASE

有人可以指导我在做什么以及如何纠正它。

提前致谢

【问题讨论】:

    标签: java spring spring-mvc spring-roo


    【解决方案1】:

    我遇到了同样的问题。我发现最新版本的 Spring Boot 需要单独的依赖项进行验证。我尝试在 pom.xml 文件中添加以下依赖项,它起作用了。

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-validation</artifactId> 
    </dependency>
    

    【讨论】:

    • 这解决了我在将 Spring Boot 从 2.2.5.RELEASE 升级到 2.4.1 后遇到的错误
    【解决方案2】:

    包含这个类的jar必须添加到你项目的构建路径:http://mvnrepository.com/artifact/javax.validation/validation-api/1.0.0.GA

    【讨论】:

    • 然后它说“覆盖托管版本 1.1.0.Final for validation-api”?我该怎么办
    • springboot 已经声明了这个依赖。这个解决方案在我的情况下不起作用。
    【解决方案3】:

    对于 JDK-9,旧版本的“javax.validation”不支持。所以我们应该添加最新版本。

    我们将通过以下方式知道任何 jar 的最新版本

    C:\Users\username\.m2\repository\javax\validation\validation-api
    

    上面的文件夹应该有jar的所有版本,然后你可以通过以下方式在pom.xml文件中添加最新版本作为依赖

    在我的例子中,“2.0.0.final”是最新版本。

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

    【讨论】:

    • 我根据我的最新版本更新,但问题仍然存在。
    • 新版本:2.0.1.Final
    【解决方案4】:

    从 Spring boot 2.3 版本开始,您必须在 pom.xml 中添加此依赖项

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    

    web starters 不再包含验证,因此您必须手动添加它

    【讨论】:

      【解决方案5】:

      我正在使用 JDK JAVA 8,但我仍然遇到类似的问题。只需在我的 pom.xml 中添加以下示例,错误就消失了

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

      以下文章帮助我找到了解决方案: "https://www.baeldung.com/javax-validation"

      【讨论】:

        【解决方案6】:

        除了复制和粘贴 .jar en &lt;root-project&gt;/lib 之外,您还必须将它们添加到 Project Structure > Libraries > Classes

        GL

        Hibernate Validator

        【讨论】:

          【解决方案7】:

          之前,Gradle 默认包含此依赖项。我不知道会发生什么。您必须手动添加此依赖项: implementation 'jakarta.validation:jakarta.validation-api:2.0.2'

          【讨论】:

            【解决方案8】:

            我有同样的错误,我只是从 :https://mvnrepository.com/artifact/javax.validation/validation-api/1.0.0.GA :https://mvnrepository.com/artifact/javax.validation/com.springsource.javax.validation/1.0.0.GA

            它开始工作 -))))))))

            【讨论】:

              【解决方案9】:

              Intellij 解决方案: 粘贴下面的代码后,您需要(完全)关闭 intellij,然后再次打开。

              粘贴以下内容:

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

              【讨论】:

                【解决方案10】:
                <dependency>
                    <groupId>javax.validation</groupId>
                    <artifactId>validation-api</artifactId>
                    <version>1.0.0.GA</version>
                </dependency>
                
                <dependency>
                    <groupId>jakarta.validation</groupId>
                    <artifactId>jakarta.validation-api</artifactId>
                    <version>2.0.2</version>
                </dependency>
                

                那里还有以下版本。

                【讨论】:

                  猜你喜欢
                  • 2016-05-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-07-16
                  • 2021-06-20
                  • 1970-01-01
                  • 2017-05-31
                  • 2011-05-18
                  相关资源
                  最近更新 更多