스터디/Spring
[Spring] Springboot 버전에 따른 validation 패키지 (org.hibernate.validator.constraints does not exist)
zoodi
2024. 7. 7. 10:30
728x90
목차
1. javax와 jakarta package 의 Validation
이슈 내용
Springboot 2.x 버전에서 Springboot 3.x 버전으로 업데이트한 뒤 Validation 관련 어노테이션을 적용할 때 에러가 발생하였습니다.
- 에러 메시지
package org.hibernate.validator.constraints does not exist
cannot find symbol symbol : class NotBlank
javax 패키지의 Validation을 사용하였고 build.gradle에 필요한 모듈을 모두 추가했음에도 에러가 발생하였습니다.
- build.gradle
...
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("javax.validation:validation-api:2.0.1.Final")
...
2. 원인
- Springboot 3.x 버전부터는 javax 가 아닌 jakarta 패키지의 Validation을 사용한다고 합니다.
- 따라서 Validation 어노테이션을 사용하기위해서는 javax.validation 패키지가 아닌 jakarta.validation 패키지를 사용해야됩니다.
3. 해결방법
Springboot 2.x 에서의 validation package 예시
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
@Service
public class TestService {
@Max(5)
@Min(0)
private int fileSize;
...
}
Springboot 3.x 에서의 validation package 예시
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank
@Service
public class TestService {
@Max(5)
@Min(0)
private int fileSize;
...
}
<참고자료>
728x90