当前位置: 首页 > 知识库问答 >
问题:

使用org.springframework.cloud和spring-boot-starter-parent自定义父pom

宰父涵忍
2023-03-14

我有几个spring cloud项目,并希望把所有的共同依赖到我自己的父pom也。许多示例显示了如何使用 gement>来执行此操作。但是在我使用spring-boot-starter-parent和org.springframework.cloud的例子中,使用依赖项管理似乎不起作用,因为父项已经变成了“spring-boot-starter-parent”,并且依赖项管理也有org.springframework.cloud。下面是我的一个spring cloud项目的pom文件。

<groupId>com.demo</groupId>
<artifactId>demo-customer-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>demo-customer-service</name>
<description>Demo project for Spring Boot</description>

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

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencyManagement>
    <dependencies>

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

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>  

如上所述,有两个父级:org.springframework.boot starter parent和cloud。那我怎么能有自己的父母呢?

有什么建议请家长和孩子的pom文件应该如何?

共有1个答案

苗森
2023-03-14

您提供的pom可以完美地成为父pom。父POM也可以有父POM自己。它是常用的,如果您检查您在github上使用的项目,它们有父项链。
例如spring-cloud-build-dependenciesspring-boot-dependencies作为父项。spring-boot-dependenciesspring-boot-build作为父级。

在父pom中, 中定义的依赖项将添加到父pom的所有子级。如果您的所有孩子都在使用这些依赖项,您可以将它们添加到此标记中。(我通常在这里添加单元测试依赖项,但您可以添加任何内容)
父POM通常位于childs pom.xml上面的一个文件夹。(但如果 在其他地方,则可以使用它)

-父pom.xml
-子项目文件
--子pom.xml

 类似资料: