1. 程式人生 > >maven中pom.xml檔案的使用

maven中pom.xml檔案的使用

   初次進入職場,遇到maven這個專案管理工具,對這個工具的使用不是太清楚,先對pom.xml檔案的配置熟悉一下來達到使用的目的吧,

POM (Project Object Model)


一個專案所有的配置都放置在 POM 檔案中:定義專案的型別、名字,管理依賴關係,定製外掛的行為等等。比如說,你可以配置 compiler 外掛讓它使用 java 1.5 來編譯。

現在看一下第一篇文章中示例的 POM

Xml 程式碼

        <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.mycompany.helloworld</groupId> 
     <artifactId>helloworld</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <packaging>jar</packaging> 

     <name>helloworld</name> 
     <url>http://maven.apache.org</url> 

     <properties> 
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     </properties> 

     <dependencies>
       <dependency> 
         <groupId>junit</groupId> 
         <artifactId>junit</artifactId> 
         <version>3.8.1</version> 
         <scope>test</scope> 
       </dependency> 
     </dependencies> 
    </project>    

在 POM 中,groupId, artifactId, packaging, version 叫作 maven 座標,它能唯一的確定一個專案。有了 maven 座標,我們就可以用它來指定我們的專案所依賴的其他專案,外掛,或者父專案。一般 maven 座標寫成如下的格式:

    	groupId:artifactId:packaging:version

像我們的例子就會寫成:

    	com.mycompany.helloworld: helloworld: jar: 1.0-SNAPSHOT

我們的 helloworld 示例很簡單,但是大專案一般會分成幾個子專案。在這種情況下,每個子專案就會有自己的 POM 檔案,然後它們會有一個共同的父專案。這樣只要構建父專案就能夠構建所有的子專案了。子專案的 POM 會繼承父專案的 POM。另外,所有的 POM都繼承了一個 Super-POM。Super-POM 設定了一些預設值,比如在第一篇文章中提到的預設的目錄結構,預設的外掛等等,它遵循了慣例優於配置的原則。所以儘管我們的這個 POM 很簡單,但是這只是你看得見的一部分。執行時候的 POM 要複雜的多。 如果你想看到執行時候的 POM 的全部內容的話,可以執行下面的命令:

$mvn help:effective-pom
也就是說我們可以使用maven的pom.xml檔案將需要的jar包,以及其他的關聯專案的jar包引入