maven中的聚合与继承

阅读更多
maven中的聚合和继承是2个不同的概念,虽然经常在一个父模块里同时完成这2个功能

一、聚合

聚合的作用是把子项目的构建过程串到一起:

		../project-moduleA
		../project-moduleB
	

或者

		project-moduleA
		project-moduleB
	

前者是对应平行结构的,后者是对应树形结构的

在平行结构的情况下

maven中的聚合与继承_第1张图片

pom所在的当前目录是D:\example\project-aggregator,所以需要配置为../project-moduleA,才能找到D:\example\project-moduleA

在树形结构的情况下



pom所在的当前目录是D:\example\project-aggregator,所以可以直接配置为project-moduleA,即可找到D:\example\project-aggregator\project-moduleA

聚合模块清楚地知道将要聚合哪些子模块,但是子模块对于自己被聚合毫不知情

二、继承

与聚合不同,继承的目的是为了在父模块中进行一些公共配置,以简化子模块的POM文件

		net.kyfxbl.modules.project
		project-aggregator
		0.0.1-SNAPSHOT
		../project-aggregator
	

或者

		net.kyfxbl.modules.project
		project-aggregator
		0.0.1-SNAPSHOT
		../
	

前者是对应平行结构的,后者是对应树形结构的

在平行结构的情况下

maven中的聚合与继承_第2张图片

pom所在的当前目录是D:\example\project-moduleA,所以需要配置为../project-aggregator,才能找到D:\example\project-aggregator\pom.xml

在树形结构的情况下



pom所在的当前目录是D:\example\project-aggregator\project-moduleA,所以可以直接配置为../,即可找到D:\example\project-aggregator\pom.xml

聚合模块清楚地知道自己继承自哪个父模块,但是父模块并不知道自己将会被哪些子模块继承

实际应用中,将module和parent放在一个pom里,是一种常见的做法
  • maven中的聚合与继承_第3张图片
  • 大小: 25.5 KB
  • maven中的聚合与继承_第4张图片
  • 大小: 3.7 KB
  • 查看图片附件

你可能感兴趣的:(maven,聚合,继承)