为什么来自spring-boot-dependencies的属性在子POM中不可用?

时间:2017-10-27 23:51:06

标签: maven spring-boot jersey dependencies

我正在关注Spring文档Using Spring Boot without the parent POM。在我的父POM中,我在spring-boot-dependencies部分中dependenciesManagement定义了导入依赖项。在我的孩子POM中,我然后定义了对spring-boot-starter-jersey的依赖,而没有指定任何版本。当我查看依赖:树时,我发现所有的球衣依赖关系都使用spring-boot-dependencies中指定的版本。一切都很好。

现在,在我的孩子POM中,我需要添加另一个球衣依赖。在spring-boot-dependencies POM中,我看到定义了属性jersey.version。但是,当我在我的子POM中使用${jersey.version}时,属性未定义。

为什么{0}在儿童POM中无法使用?

父POM代码段:

${jersey.version}

Child POM代码段:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

来自<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-sse</artifactId> <version>${jersey.version}</version> <!-- error here --> </dependency> </dependencies>

spring-boot-dependencies-1.5.0.RELEASE.pom

1 个答案:

答案 0 :(得分:0)

属性仅从父POM继承。这在maven文档中有说明(遗憾的是我再也找不到参考文献了)。