Maven之Pom解析

1.POM 包含了關於工程和各類配置細節的信息,也包含了目標和插件。ui

當執行一個任務或者目標時,Maven 會查找當前目錄下的 POM,從其中讀取所須要的配置信息,而後執行目標。可以在 POM 中設置的一些配置以下:插件

  • project dependenciesxml

  • plugins繼承

  • goalsci

  • build profiles開發

  • project versionio

  • developerstable

  • mailing list配置

在建立 POM 以前,咱們首先肯定工程組(groupId),及其名稱(artifactId)和版本,在倉庫中這些屬性是工程的惟一標識。file

須要說明的是每一個工程應該只有一個 POM 文件。

  • 全部的 POM 文件須要 project 元素和三個必須的字段:groupId, artifactId,version

  • 在倉庫中的工程標識爲 groupId:artifactId:version

  • POM.xml 的根元素是 project,它有三個主要的子節點:

節點 描述
groupId 這是工程組的標識。它在一個組織或者項目中一般是惟一的。例如,一個銀行組織 com.company.bank 擁有全部的和銀行相關的項目。
artifactId 這是工程的標識。它一般是工程的名稱。例如,消費者銀行。groupId 和 artifactId 一塊兒定義了 artifact 在倉庫中的位置。
version 這是工程的版本號。在 artifact 的倉庫中,它用來區分不一樣的版本。例如:
com.company.bank:consumer-banking:1.0
com.company.bank:consumer-banking:1.1.

2.Super Pom

全部的 POM 都繼承自一個父 POM(不管是否顯式定義了這個父 POM)。父 POM 也被稱做 Super POM,它包含了一些能夠被繼承的默認設置。

Maven 使用 effective pom(Super pom 加上工程本身的配置)來執行相關的目標,它幫助開發者在 pom.xml 中作儘量少的配置,固然這些配置能夠被方便的重寫。

查看 Super POM 默認配置的一個簡單方法是執行如下命令:mvn help:effective-pom

相關文章
相關標籤/搜索