【單體應用 - 使用 Maven 構建應用】06 Maven POM
阿新 • • 發佈:2018-11-06
POM 代表專案物件模型。它是 Maven 中的基本單位,這是一個 XML 檔案。它始終儲存在該專案基本目錄中的 pom.xml
檔案。
POM 包含的專案是使用 Maven 來構建的,它用來包含各種配置資訊。
POM 也包含了目標和外掛。在執行任務或目標時,Maven 會使用當前目錄中的 POM。它讀取 POM 得到所需要的配置資訊,然後執行目標。部分的配置可以在 POM 使用如下:
- project dependencies (專案依賴)
- plugins (外掛)
- goals (目標)
- build profiles (生成配置檔案)
- project version (專案版本)
- developers (開發人員)
- malling list (郵件列表)
建立一個 POM 之前,應該要先解決專案組(groupId),專案名稱(artifactId) 和版本,因為這些屬性在專案倉庫是唯一標識的。
POM 的例子
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yuu</groupId> <artifactId>project</artifactId> <version>1.0</version> </project>
要注意的是,每個專案只有一個 POM 檔案
- 所有的 POM 檔案必須有三個必填欄位:groupId,atrifactId,version
- 在庫中的專案符號是:
groupId:atrifactId:version
pom.xml
的根元素是 project,它有三個主要的節點。
節點 | 描述 |
---|---|
groupId | 這個是專案組的編號,這在組織或專案中通常是獨一無二的。例如,一家銀行集團 com.company.bank 擁有所有銀行相關專案。 |
artifacteId | 這是專案的 ID。這通常是專案的名稱。例如,consumer-banking 。除了 groupId 之外,artifactId 還定義了 artifact 在儲存庫中的位置。 |
version | 這是專案的版本。與 groupId 一起使用,artifact 在儲存庫中用於將版本彼此分離。例如:com.company.bank:consumer-banking:1.0 ,com.company.bank:consumer-banking:1.1 |