如何在Maven中实现聚合和Parent继承

这篇文章将为大家详细讲解有关如何在Maven中实现聚合和Parent继承,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联公司主营汨罗网站建设的网络公司,主营网站建设方案,成都app软件开发,汨罗h5重庆小程序开发搭建,汨罗网站营销推广欢迎汨罗等地区企业咨询

继承

继承是 Maven 中很强大的一种功能,继承可以使得子POM可以获得 parent 中的各项配置,可以对子pom进行统一的配置和依赖管理。父POM中的大多数元素都能被子POM继承,这些元素包含:

  • groupId

  • version

  • description

  • url

  • inceptionYear

  • organization

  • licenses

  • developers

  • contributors

  • mailingLists

  • scm

  • issueManagement

  • ciManagement

  • properties

  • dependencyManagement

  • dependencies

  • repositories

  • pluginRepositories

  • build

  • plugin executions with matching ids

  • plugin configuration

  • etc.

  • reporting

  • profiles

注意下面的元素,这些都是不能被继承的。

  • artifactId

  • name

  • prerequisites

想要添加 parent,只需要像下面这样写。


 4.0.0
 
  org.codehaus.mojo
  my-parent
  2.0
  ../my-parent
 
 my-project

其中relativePath元素不是必须的,指定后会优先从指定的位置查找父pom。

聚合(或多模块)

具有模块的项目被称为多模块或聚合项目。模块是此POM列出并作为一组执行的项目。通过一个pom打包的项目可以将它们列为模块来聚合成一组项目进行构建,这些模块名是这些项目的相对目录。


 4.0.0
 org.codehaus.mojo
 my-parent
 2.0
 pom
 
  my-project
  another-project
 

在列出模块时,不需要自己考虑模块间依赖关系,即POM给出的模块排序并不重要。Maven将对模块进行拓扑排序,使得依赖关系始终在依赖模块之前构建。

聚合 VS 父POM

虽然聚合通常伴随着父POM的继承关系,但是这两者不是必须同时存在的,从上面两者的介绍可以看出来,这两者的都有不同的作用,他们的作用不依赖于另一个的配置。

父POM是为了抽取统一的配置信息和依赖版本控制,方便子POM直接引用,简化子POM的配置。聚合(多模块)则是为了方便一组项目进行统一的操作而作为一个大的整体,所以要真正根据这两者不同的作用来使用,不必为了聚合而继承同一个父POM,也不比为了继承父POM而设计成多模块。

关于如何在Maven中实现聚合和Parent继承就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享题目:如何在Maven中实现聚合和Parent继承
URL网址:http://azwzsj.com/article/goijsi.html