我有几个Spring云项目,并且希望将所有常见的依赖项放入我自己的父pom中。许多示例显示了如何使用<dependencyManagement>
执行此操作。但在我使用spring-boot-starter-parent和org.springframework.cloud的情况下,似乎无法使用依赖关系管理,因为父级已经成为&#39; spring-boot-starter-parent &#39;和依赖管理也有 org.springframework.cloud 。以下是我的春季云项目之一&#39; 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启动父和云。那我怎么能拥有自己的父母呢?
请问父母和孩子的pom文件应该如何?
答案 0 :(得分:1)
你提供的pom可以成为父母pom。父母也可以拥有自己的父母。它是常用的,如果你检查你在github上使用的项目,他们就有父母链
例如,spring-cloud-build-dependencies
已将spring-boot-dependencies
作为父级。 spring-boot-dependencies
已将spring-boot-build
作为父级。
在您的父pom中,<dependencies></dependencies>
中定义的依赖项将添加到您父项的所有子项中。如果您的所有孩子都在使用这些依赖项,则可以在此标记中添加它们。 (我通常在这里添加单元测试依赖项,但你可以添加任何东西)
父pom通常位于childs pom.xml上方的一个文件夹中。 (但如果它在其他地方,可以使用<relativePath>
)
| -parent pom.xml
| -child项目文件夹
| --child pom.xml