![](/img/trans.png)
[英]How to import javax.validation(for using @Valid) in gradle project
[英]VSCode, Gradle, Spring Boot, Can't import javax.validation
全部。
我想在 spring boot(2.3.0) 框架中使用 @Valid 和 @NotEmpty。
但我无法导入 javax.validation 所以我不能。
这是我目前遇到的屏幕和 build.gradle 文件:
<文件: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()
}
我带着同样的问题来到这里,但我的问题是我忘记将此行添加到 build.gradle。
implementation('org.springframework.boot:spring-boot-starter-validation')
我知道这不是您的问题,但只是将其发布在此处,以供其他面临与我相同的问题并偶然发现此问题的人使用。
要使用 bean 验证(Javax.validation),大多数情况下您还需要一个实现。 你可以把javax.validation package想象成一个接口,它只包含验证api,但它们必须通过另一个package来实现。
这曾经是 hibernate.validator,但现在已弃用。
说到已弃用,整个 javax 库模块在最新版本中已弃用。 这包括 json 库、jax-rs 和 jax-ws 库以及许多其他库。
话虽如此,并注意到他使用旧的 hibernate package 不再有效(在那里做过,你不知道我刚刚救了你的头痛),那么这里是一个关于这个主题的很棒的教程。 他使用 maven 和大多数 spring 启动项目一样,但您可以非常简单地为 gradle 调整它。
对于实现 package,谷歌“bean 验证器实现 2020”。 那应该处理它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.