添加spring-boot-starter-parent会删除javax.validation。*

时间:2018-10-30 14:30:10

标签: java spring spring-boot

当我添加到顶部pom时:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
</parent>

这些进口商品被打破了:

import javax.validation.Constraint;
import javax.validation.Payload;

javax.validation.*中我什么都没看到

当我移除这个父母时-一切恢复正常。

我使用JDK 8,并计划在将来升级到JDK 11。

2 个答案:

答案 0 :(得分:0)

发生这种情况是因为“ org.springframework.boot”已经包含“ javax.validation”罐子

因此,如果您想使用早期版本或“ javax.validation” jar的外部maven条目,请从spring-boot-starter-parent maven中排除该依赖性。

示例:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <type>pom</type>
    <exclusions>
        <exclusion>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </exclusion>
    </exclusions> 
</dependency>

答案 1 :(得分:0)

Spring Boot已经包含javax.validation,因此您必须从pom.xml中删除关联的依赖项。