Spring Boot 2隨附了hibernate-validator 6(org.hibernate.validator:hibernate-validator:6.0.16.Final依賴於validation-api 2(javax.validation:validation-api:2.0.1.Final),后者特定於Java EE 8,請參見附錄F.依賴版本。但是可能必須使用Java支持較舊的應用程序服務器僅限EE 7,Spring Framework 5仍應支持它,請參閱運行時支持。
在這種情況下,請使用較舊的hibernate-validator(5.4.3.Final)和validation-api(1.1.0.Final)。如果您使用Spring Boot maven parent,則只需定義這些屬性。
<properties> <javax-validation.version>1.1.0.Final</javax-validation.version> <hibernate-validator.version>5.4.3.Final</hibernate-validator.version> </properties>
問題是從版本6開始,hibernate-validator已更改groupId,因此您必須排除新的組,但添加舊的組,例如
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>${hibernate-validator.version}</version> </dependency>
