Допустим, я определил такой bean-компонент:
@Component
@Validated
public class MyComponent {
public void someMethod(@NotNull Integer myIntValue) {
System.out.println(myIntValue);
}
}
Это упаковано в какой-то jar-файл, например: com.comppany:component:1.0.jar
Этот файл jar должен зависеть (включать?) От:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>6.0.13.Final</version>
</dependency>
Возникает вопрос: что, если этот файл jar добавлен как зависимость к другому проекту, в котором есть другая реализация проверки JSR-303 (например, валидатор Commons из apache)? Есть ли способ уберечься от такой ситуации? 1. Использовать одну проверку для "компонентного" модуля, а другую - для другого? 2. или может быть проверена во время компиляции (как?) Та цель, которая импортирует "компонентный" модуль, имеет такую же проверку JSR-303?
exclusions
- person   schedule 13.02.2019