Maven學習(一)配置檔案pom.xml
阿新 • • 發佈:2018-12-20
Maven pom.xml
1、定義:
POM全稱專案物件模型(Project Object Model)的簡稱,它是Maven專案中的檔案,使用XML表示,名稱叫做pom.xml。不過這個檔案中包含了該專案所有相關資訊(專案唯一ID、專案依賴、專案url、專案開發者等一切相關資訊)。
2、常見使用
<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.0http://maven.apache.org/maven-v4_0_0.xsd" >
<!--宣告專案描述符遵循哪一個POM模型版本。模型本身的版本很少改變,雖然如此,但它仍然是必不可少的,這是為了當Maven引入了新的特性或者其他模型變更的時候,確保穩定性。 -->
<modelVersion>4.0.0</modelVersion>
<!--g:專案的全球唯一識別符號,通常使用全限定的包名區分該專案和其他專案。並且構建時生成的路徑也是由此生成, 如com.myhome.app生成的相對路徑為:/com/myhome/app -->
<!-- a:構件的識別符號,它和group ID一起唯一標識一個構件。換句話說,你不能有兩個不同的專案擁有同樣的artifact ID 和groupID;在某個特定的group ID下,artifact ID也必須是唯一的。構件是專案產生的或使用的一個東西,Maven為專案產生的構件包括:JARs,源 碼,二進位制釋出和WARs等。 -->
<!--v:專案當前版本,格式為:主版本.次版本.增量版本-限定版本號 -->
<!--gav可以唯一確定一個maven專案-->
<groupId>asia.banseon</groupId>
<artifactId>banseon-maven2</artifactId>
<version>1.0 -SNAPSHOT</version>
<!--專案產生的構件型別,例如jar、war、ear、pom。外掛可以建立他們自己的構件型別,所以前面列的不是全部構件型別 -->
<packaging>jar</packaging>
<!--專案的名稱, Maven產生的文件用 -->
<!--描述了這個專案構建環境中的前提條件。 -->
<prerequisites>
<!--構建該專案或使用該外掛所需要的Maven的最低版本 -->
<maven></maven>
</prerequisites>
<!--構建專案需要的資訊 -->
<build>
<!--子專案可以引用的預設外掛資訊。該外掛配置項直到被引用時才會被解析或繫結到生命週期。給定外掛的任何本地配置都會覆蓋這裡的配置 -->
<pluginManagement>
<!--使用的外掛列表 。 -->
<plugins>
<!--plugin元素包含描述外掛所需要的資訊。 -->
<plugin>
<!--外掛在倉庫裡的group ID -->
<groupId />
<!--外掛在倉庫裡的artifact ID -->
<artifactId />
<!--被使用的外掛的版本(或版本範圍) -->
<version />
<!--是否從該外掛下載Maven擴充套件(例如打包和型別處理器),由於效能原因,只有在真需要下載時,該元素才被設定成enabled。 -->
<extensions />
<!--在構建生命週期中執行一組目標的配置。每個目標可能有不同的配置。 -->
<executions>
<!--execution元素包含了外掛執行需要的資訊 -->
<execution>
<!--執行目標的識別符號,用於標識構建過程中的目標,或者匹配繼承過程中需要合併的執行目標 -->
<id />
<!--綁定了目標的構建生命週期階段,如果省略,目標會被繫結到源資料裡配置的預設階段 -->
<phase />
<!--配置的執行目標 -->
<goals />
<!--配置是否被傳播到子POM -->
<inherited />
<!--作為DOM物件的配置 -->
<configuration />
</execution>
</executions>
<!--專案引入外掛所需要的額外依賴 -->
<dependencies>
<!--參見dependencies/dependency元素 -->
<dependency>
......
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<!--發現依賴和擴充套件的遠端倉庫列表。 -->
<repositories>
<!--包含需要連線到遠端倉庫的資訊 -->
<repository>
<!--遠端倉庫唯一識別符號。可以用來匹配在settings.xml檔案裡配置的遠端倉庫 -->
<id>banseon-repository-proxy</id>
<!--遠端倉庫名稱 -->
<name>banseon-repository-proxy</name>
<!--遠端倉庫URL,按protocol://hostname/path形式 -->
<url>http://192.168.1.169:9999/repository/</url>
</repository>
</repositories>
<!--發現外掛的遠端倉庫列表,這些外掛用於構建和報表 -->
<pluginRepositories>
<!--包含需要連線到遠端外掛倉庫的資訊.參見repositories/repository元素 -->
<pluginRepository>
......
</pluginRepository>
</pluginRepositories>
<!--該元素描述了專案相關的所有依賴。 這些依賴組成了專案構建過程中的一個個環節。它們自動從專案定義的倉庫中下載。要獲取更多資訊,請看專案依賴機制。 -->
<dependencies>
<dependency>
<!--依賴的group ID -->
<groupId>org.apache.maven</groupId>
<!--依賴的artifact ID -->
<artifactId>maven-artifact</artifactId>
<!--依賴的版本號。 在Maven 2裡, 也可以配置成版本號的範圍。 -->
<version>3.8.1</version>
<!-- 依賴型別,預設型別是jar。它通常表示依賴的檔案的副檔名,但也有例外。一個型別可以被對映成另外一個副檔名或分類器。型別經常和使用的打包方式對應,儘管這也有例外。一些型別的例子:jar,war,ejb-client和test-jar。如果設定extensions為 true,就可以在 plugin裡定義新的型別。所以前面的型別的例子不完整。 -->
<type>jar</type>
</dependency>
</dependencies>
<plugins>
<!--plugin元素包含描述報表外掛需要的資訊 -->
<plugin>
<!--報表外掛在倉庫裡的group ID -->
<groupId />
<!--報表外掛在倉庫裡的artifact ID -->
<artifactId />
<!--被使用的報表外掛的版本(或版本範圍) -->
<version />
<!--任何配置是否被傳播到子專案 -->
<inherited />
<!--報表外掛的配置 -->
<configuration />
</reportSets>
</plugin>
</plugins>
</reporting>
</project>