diff --git a/pom.xml b/pom.xml
index b1f411a82..5db794e5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -549,14 +549,14 @@
jakarta.validation
jakarta.validation-api
- 2.0.2
+ 3.0.2
true
org.hibernate.validator
hibernate-validator
- 6.2.0.Final
+ 8.0.0.Final
test
diff --git a/src/docs/java/org/springframework/hateoas/EmployeeModel.java b/src/docs/java/org/springframework/hateoas/EmployeeModel.java
index b2dbaf8c2..77af55557 100644
--- a/src/docs/java/org/springframework/hateoas/EmployeeModel.java
+++ b/src/docs/java/org/springframework/hateoas/EmployeeModel.java
@@ -15,11 +15,10 @@
*/
package org.springframework.hateoas;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
import lombok.Data;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
/**
* @author Oliver Drotbohm
*/
diff --git a/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java b/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java
index 74e6b1ef6..aad50f30f 100644
--- a/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java
+++ b/src/main/java/org/springframework/hateoas/mediatype/PropertyUtils.java
@@ -15,6 +15,15 @@
*/
package org.springframework.hateoas.mediatype;
+import jakarta.validation.constraints.DecimalMax;
+import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+
import java.beans.PropertyDescriptor;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
@@ -26,15 +35,6 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import javax.validation.constraints.DecimalMax;
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.Email;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
import org.reactivestreams.Publisher;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanWrapper;
@@ -72,7 +72,7 @@ public class PropertyUtils {
private static final Map DOMAIN_TYPE_CACHE = new ConcurrentReferenceHashMap<>();
private static final Map METADATA_CACHE = new ConcurrentReferenceHashMap<>();
private static final Set FIELDS_TO_IGNORE = new HashSet<>(Arrays.asList("class", "links"));
- private static final boolean JSR_303_PRESENT = ClassUtils.isPresent("javax.validation.constraints.Email",
+ private static final boolean JSR_303_PRESENT = ClassUtils.isPresent("jakarta.validation.constraints.Email",
PropertyUtils.class.getClassLoader());
private static final List> TYPES_TO_UNWRAP = new ArrayList<>(
Arrays.asList(EntityModel.class, CollectionModel.class, HttpEntity.class));
diff --git a/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java b/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java
index ce07423cb..09374d496 100644
--- a/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java
+++ b/src/test/java/org/springframework/hateoas/mediatype/PropertyUtilsTest.java
@@ -17,6 +17,10 @@
import static org.assertj.core.api.Assertions.*;
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
@@ -30,11 +34,6 @@
import java.util.Optional;
import java.util.stream.Stream;
-import javax.validation.constraints.Email;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
import org.hibernate.validator.constraints.Range;
import org.hibernate.validator.constraints.URL;
import org.junit.jupiter.api.DynamicTest;
diff --git a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java
index 133adcba1..3e0a46c35 100644
--- a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java
+++ b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/HalFormsTemplateBuilderUnitTest.java
@@ -17,6 +17,12 @@
import static org.assertj.core.api.Assertions.*;
+import jakarta.validation.constraints.DecimalMax;
+import jakarta.validation.constraints.DecimalMin;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import java.math.BigDecimal;
@@ -25,13 +31,6 @@
import java.util.Map;
import java.util.Optional;
-import javax.validation.constraints.DecimalMax;
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java
index 127957368..a6aed172d 100644
--- a/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java
+++ b/src/test/java/org/springframework/hateoas/mediatype/hal/forms/Jackson2HalFormsIntegrationTest.java
@@ -17,6 +17,8 @@
import static org.assertj.core.api.Assertions.*;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import net.minidev.json.JSONArray;
@@ -29,9 +31,6 @@
import java.util.Locale;
import java.util.function.Consumer;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
diff --git a/src/test/java/org/springframework/hateoas/support/Employee.java b/src/test/java/org/springframework/hateoas/support/Employee.java
index 889e4008b..342ce4108 100644
--- a/src/test/java/org/springframework/hateoas/support/Employee.java
+++ b/src/test/java/org/springframework/hateoas/support/Employee.java
@@ -15,12 +15,11 @@
*/
package org.springframework.hateoas.support;
+import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.With;
-import javax.validation.constraints.NotNull;
-
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
/**