在執行Maven時,它會去檢查專案目錄下是某具有pom.xml檔案,如果沒有時,任何操作都會出現build error。
在一個pom.xml設定檔中,最少需要有以下五個元素:
- project root:專案的根目錄
- modelVersion:代表目前使用的POM版本,在maven 2.x中,一定要設定為4.0.0
- groupId:代表目前專案所屬組織的ID。這個groupId的設定不一定要用.隔開,事實上也不一定要是你的package宣告,只是目前大家都這樣用,當你使用com.kevingo的id宣告,maven會產生com/kevingo這樣的目錄結構。詳細可參考:http://maven.apache.org/pom.html
- artifactId:代表這個組織下的產品名稱,通常會設定為專案名稱
- version:專案的版本
- packaging:打包專案時種類,這個元素不一定要寫,沒有設定時,預設會將專案包成jar。而Maven目前支援的種類有:pom, jar, maven-plugin, ejb, war, ear, rar, par.
整個pom.xml會長的類似像這樣
<project>
<modelversion>4.0.0</modelversion>
<groupid>com.kevingo</groupid>
<artifactid>my-project</artifactid>
<version>1.0</version>
<packaging>jar</packaging>
</project>
當少了其中的某個元素時,會出現類似以下的error:
整個專案的名稱是這樣命名的:groupId:artifactId:packaging:version,就上面的例子而言,完整的專案名稱會是:com.kevingo:my-project:jar:1.0
在POM檔中,除了以上的幾個必要元素外,還有一些是經常會用到的元素,包括:
dependencies:宣告了專案中所有會需要用到的Libraries,每一個所引入的Library,都會用一個dependency元素所包住,如下所示:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<type>jar</type>
<scope>test</scope>
<optional>true</optional>
</dependency>
</dependencies>
上面的範例中在專案裡面引入了一個junit的Library,當你將這段設定檔寫到pom.xml中,Maven就會自動將junit引入。
【相關閱讀】
POM Reference
JUnit Gossip: POM 設定檔
0 意見:
張貼留言