1- common-lib, написанный на Java 11. Он не использует Spring, но содержит общие классы, коды ошибок, модели, DTO и т. д. ., включая пользовательские аннотации проверки (см. ниже).
2- x сервис, написан на Java 11 с использованием Spring 2.6.
3- y сервис, Написан на Java 17, используя Spring 3.2.
Проблема:
Мои службы Java 11 (служба x) могут легко использовать common-lib, включая аннотации проверки.
Однако моя служба Java 17 (служба y) может использовать модели, коды ошибок и другие общие классы из common-lib, но не может использовать аннотации проверки.
проблема, судя по всему, связана с переходом от от javax.validation до jakarta.validation и других потенциальных проблем с байт-кодом.
Код: Выделить всё
@Target({TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = IsValidSms.SmsValidator.class)
public @interface IsValidSms {
String message() default "INVALID_REQUEST_BODY";
Class[] groups() default {};
Class
Подробнее здесь: [url]https://stackoverflow.com/questions/79200048/how-can-i-use-a-common-java-11-library-with-validation-annotations-in-a-java-17[/url]
Мобильная версия