Maven 使用org.springframework.cloud和SpringBootStarter父级定制父级pom
我有几个spring云项目,希望将所有常见的依赖项也放到我自己的父pom中。许多示例演示了如何使用Maven 使用org.springframework.cloud和SpringBootStarter父级定制父级pom,maven,spring-boot,spring-cloud,Maven,Spring Boot,Spring Cloud,我有几个spring云项目,希望将所有常见的依赖项也放到我自己的父pom中。许多示例演示了如何使用执行此操作。但在我使用spring boot starter父级和org.springframework.cloud的情况下,使用依赖关系管理似乎不起作用,因为父级已经成为“spring boot starter父级”,依赖关系管理也有org.springframework.cloud。下面是我的SpringCloud项目的pom文件之一 <groupId>com.demo</gr
执行此操作。但在我使用spring boot starter父级和org.springframework.cloud的情况下,使用依赖关系管理似乎不起作用,因为父级已经成为“spring boot starter父级”,依赖关系管理也有org.springframework.cloud。下面是我的SpringCloud项目的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>
com.demo
演示客户服务
0.0.1-快照
罐子
演示客户服务
SpringBoot的演示项目
org.springframework.boot
spring启动程序父级
1.5.9.1发布
UTF-8
UTF-8
1.8
org.springframework.cloud
spring云依赖关系
道尔斯顿释放
聚甲醛
进口
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
SpringBootStarterWeb
如上所述,有两个父项:org.springframework.bootstarter父项和云。那我怎么能有自己的父母呢
有什么建议吗?父级和子级pom文件应该是怎样的?您提供的pom可以成为父级pom。父POM也可以有父POM本身。它是常用的,如果你检查你在github上使用的项目,它们会有父链。
例如,
spring云构建依赖项
将spring引导依赖项
作为父项spring引导依赖项
将spring引导构建
作为父项
在父pom中,在
中定义的依赖项将添加到父pom的所有子pom中。如果您的所有孩子都在使用这些依赖项,您可以将它们添加到此标记中。(我通常在这里添加单元测试依赖项,但您可以添加任何内容)父pom通常位于childs pom.xml上方的一个文件夹中。(但如果在别处,则可以使用
)
|-父pom.xml|-子项目文件夹
|--child pom.xml你说的“我怎么能有自己的父母?”是什么意思。我的意思是,一个父pom文件,其中包括org.springframework.cloud、org.springframework.boot依赖项以及其他特定于项目的依赖项,如apache commons、数据库依赖项。因为这些依赖关系对于所有子项目都是通用的。因此,我将能够删除上述pom中定义的版本。您在问题中提供的pom可以是父级。如果您删除依赖项部分(如果您不删除它,它仍然可能是父项)。@miroh。谢谢你的关注。然后2:1。我的父母也有自己的父母?我只是想更清楚一点:这是一个好的做法吗?2.为什么要删除依赖项?因为这些依赖关系在很多子项目中都很常见。非常感谢miroh的回答和解释。