VSCode、Gradle、Spring Boot、无法导入 javax.validation

Cha*_*ohn 6 java spring-annotations spring-boot

全部。
我想在 spring boot(2.3.0) 框架中使用 @Valid 和 @NotEmpty 。
但我无法导入,javax.validation所以我不能。这是我当前遇到的
屏幕和文件:build.gradle

  1. 不能使用@Valid注解在此输入图像描述
  2. 不能使用@NotEmpty注解在此输入图像描述

<文件:build.gradle>

plugins {
    id 'org.springframework.boot' version '2.3.0.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'kr.co.fastcampus'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    //  Spring Boot
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-validation'

    //  Database
    implementation 'com.h2database:h2'

    compileOnly 'org.projectlombok:lombok'

    developmentOnly 'org.springframework.boot:spring-boot-devtools'

    annotationProcessor 'org.projectlombok:lombok'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}
Run Code Online (Sandbox Code Playgroud)

Vis*_*uVS 8

我来到这里遇到了同样的问题,但我的问题是我忘记将这一行添加到 build.gradle 中。

implementation('org.springframework.boot:spring-boot-starter-validation')
Run Code Online (Sandbox Code Playgroud)

我知道这不是您的问题,但只是将其发布在这里,以供其他像我一样面临同样问题并偶然发现这个问题的人使用。


Abh*_*rty 2

可能是 gradle 缓存有问题。

确保您在 gradle-wrapper.properties 中使用正确的 gradle 版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.4.1-bin.zip
Run Code Online (Sandbox Code Playgroud)

然后进行重建。检查构建过程中是否遇到任何错误。这里一切都应该是绿色的:

构建输出

我使用了相同的 build.gradle 文件(您提供的),@Valid 和 @NonEmpty 注释都工作正常。