父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