父POM的做用是消除配置的重复。
父POM必须<packaging>pom</packaging>
。
还有html
<modules> <module>子模块1</module> <module>子模块2</module> <modules>
来指定这些子模块能够一块儿构建。
一块儿构建是指,构建父模块的同时把子模块也构建了。ui
子POM经过url
<parent> <groupId>com.juvenxu.mvnbook.account</groupId> <artifactId>account-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../account-parent/pom.xml</relativePath> </parent>
找到父POM文件,来继承父POM文件的属性。插件
// 重要属性 properties:自定义的Maven属性 dependencies:项目的依赖配置 dependencyManagement:项目的依赖管理配置 repositories:项目的仓库配置 build:包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等 // 次重要属性 roupId:项目组ID,项目坐标的核心元素 version:项目版本,项目坐标的核心因素 description:项目的描述信息 organization:项目的组织信息 inceptionYear:项目的创始年份 url:项目的URL地址 developers:项目的开发者信息 contributors:项目的贡献者信息 distributionManagement:项目的部署配置 issueManagement:项目的缺陷跟踪系统信息 ciManagement:项目的持续集成系统信息 scm:项目的版本控制信息 malilingLists:项目的邮件列表信息 reporting:包括项目的报告输出目录配置、报告插件配置等
其中,子POM无条件继承父POM的dependencies元素。
子POM的dependencies元素能够有选择的继承父POM的dependencyManagement元素。版本控制
相似,子POM无条件继承父POM的plugins元素。
子POM的plugins元素能够有选择的继承父POM的pluginManagement元素。code