为啥子 POM 中没有来自 spring-boot-dependencies 的属性?

Posted

技术标签:

【中文标题】为啥子 POM 中没有来自 spring-boot-dependencies 的属性?【英文标题】:Why are properties from spring-boot-dependencies not available in child POM?为什么子 POM 中没有来自 spring-boot-dependencies 的属性? 【发布时间】:2018-04-09 15:22:32 【问题描述】:

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

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

为什么$jersey.version 在子 POM 中不可用?

父 POM sn-p:

<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>

子 POM sn-p:

<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

<properties>
    <jersey.version>2.25.1</jersey.version>
</properties>

【问题讨论】:

如果在 spring-boot-dependencies docs.spring.io/spring-boot/docs/current/reference/html/…987654322@ 中使用 dep,则不需要提供版本 @Georgy:我需要添加一个不在spring boot依赖项中的附加依赖项,并且想在spring boot依赖项中使用与相关工件相同的版本。 好的,我明白了,因为不在 spring-boot-dependencies maven 中的依赖 jersey-media-sse 无法解析版本,所以它适用于 spring-boot-dependencies 中的依赖项,但不适用于其他依赖项。我相信如果您将 spring-boot-dependencies 作为显式父级 - 它会起作用。 【参考方案1】:

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

【讨论】:

以上是关于为啥子 POM 中没有来自 spring-boot-dependencies 的属性?的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot 邮件服务

为啥子组件在 React 中没有通过 Axios 获得父组件的 props

为啥子查询会在 group by 查询中抛出错误?

spring-boot3

spring-boot4

Spring-boot的pom.xml配置文件