ylbtech-百科-Java-Maven:POM |
Maven是以項目為中心的設計。POM(project object model)是Maven對一個單一項目的描述。沒有POM的話,Maven是毫無用處的——POM是Maven的核心。是POM實現的並驅動了這種以模型來描述的構建方式。
1.返回頂部 |
1、
POM示例
下面的POM示例,是可能用於構建和測試一個項目的
腳本。一個POM是一個XML文檔,看起來類似於如下的示例:
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
此
POM腳本允許編譯、測試以及生成基本的文檔。你可能會問單憑這區區15行代碼是如何做到的,實際上這是一個十分好且基本的問題。答案在於
Maven對於其Super POM(譯者注:意即所有POM腳本的父腳本)的隱匿調用。
規則
在Java里,所有對象都是java.lang.Object的子對象,同樣的,
在Maven中,所有POM也都是一個Super POM的子腳本。這個Super POM乍一看可能讓你覺得恐怖,要記住的最關鍵一點是,Super POM包含了重要信息,因此你不必在創建一個POM的時候重復這些信息。
包含元素
一個POM包含了關於你的項目的所有重要信息。之前提供的POM示例,非常簡單,但仍然顯示出了一個POM所包含的一些關鍵元素。
project:這是所有pom文件中的
最頂級元素,一級根元素。
modelVersion:此必需的元素說明了本POM所使用的模
型版本。模型本身的版本很少改變,雖然如此,但它仍然是必不可少的,以當
Maven引入了新的特性或者其他模型變更的時候,確保穩定性。
groupId:本元素表示創建本項目的
組織的唯一標識。groupId是一個項目的核心關鍵標識之一,它基於組織的完整屬性域名。
artifactId:表示本項目的主要項目的
唯一基本名。一個典型的由Maven生成的項目名稱將會是如下的格式:<artifactId>-<version>.<extension>;,其他部分諸如源包也使用artifactId作為它們名稱的一部分。
packaging:表示本項目所使用的
包類型(
JAR,WAR,EAR等)。這不僅僅意味着將使用JAR,、WAR、EAR打包,也表明在作為構建流程一部分的,一個特定的生命周期。此生命周期是一個主題處理,會在本章的稍后提到。只要記住此選定的項目包扮演的是定制構建生命周期的角色。本元素的默認值是jar,因此在大多數情況下,你不需要去特別指定。
name:項目的
顯示名稱,常用於Maven生成的文檔當中,並在構建過程中,為你的項目或其他的項目作為一種依賴使用。
url:項目的
網站網址。
description:項目的
介紹。
2、
2.返回頂部 |
3.返回頂部 |
4.返回頂部 |
5.返回頂部 |
1、
2、
6.返回頂部 |
![]() |
作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 |