Maven元素解析——pom.xml

轉載請註明原文地址:http://www.cnblogs.com/ygj0930/p/6628201.html html

    一個pom.xml中包含了許多標籤,各個標籤是對項目生命週期、依賴管理的配置。經常使用的主要有:apache

    1:<peoject>:pom.xml的根標籤,一個maven項目用一對<peoject></project>標籤包裹。app

    2:<modelVersion>:maven的版本maven

    3:當前項目的座標以及打包方式:ide

        <groupId>:企業網址反寫+項目名ui

        <artifactId>:項目名-模塊名url

        <version>:版本號+類型spa

                        版本號由三個整數表示,每一個整數用「.」分隔,表示:大版本號.分支版本號.小版本號插件

                        類型:版本類型。主要有:snapshot快照版本(簡化版本)、alpha內測版、beta公測版、release穩定版、GA正式發佈版code

        <packaging>:打包類型,默認是jar,能夠配置成war、zip、pom類型。

    4:<name>:當前項目名

    5:<url>:項目地址

    6:<description>:項目描述信息

    7:<developers>:開發者信息

    8:<licenses>:項目許可證信息,用來發布時授予別人使用此項目的權利

    9:<organization>:組織信息,企業信息

    以上都是對這個maven項目的相關信息配置。

    10:<properties>:屬性值標籤,也叫變量標籤。與Ant中的property同樣,能夠經過這個標籤包含一些屬性並指定屬性值。那麼在pom.xml的其餘地方,能夠經過EL表達式訪問變量的方法——${屬性名}  來獲取具體的屬性值。通常這個用來做爲整個pom.xml中須要重複使用的內容或者全局變量使用。

    11:依賴標籤

<dependencies>

    <!--一個依賴包-->
    <dependency>

       <!--經過座標指定依賴包-->
        <groupId>        </groupId>
        <artifactId>      </artifactId>
        <version>        </version>

        <!--可選項:依賴範圍。有六個可選值:經常使用compile/provided/test/runtime等-->
        <scope>一個範圍</scope>
        <!--可選項:排除依賴傳遞:即:當前項目依賴當前配置的依賴包A時,若是這個依賴包又依賴其餘包B,這裏能夠選擇排除依賴的傳遞性,不下載導入B-->
         <exclusions>
            <exclusion>
              <!--被排除的依賴包座標-->
              <groupId> </groupId>
              <artifactId> </artifactId>
              <version> </version>
            </exclusion>
         </exclusions>
    </dependency>
</dependencies>

 

    12:依賴管理標籤:主要用於制定父pom.xml,其餘項目能夠繼承這個pom.xml,從而避免重複定義某些depency。

<depencyManagement>
    <depencies>
       <depency>
           依賴包的座標...
       </depency>
    </depencies>
</depencyManagement>

    13:<build>:項目支持標籤,通常用來引入插件

<build>
    <plugins>
      <plugin>
         <!--插件座標-->
         <groupId>         </groupId>
         <artifactId>         </artifactId>
         <version>         </version>

         其餘設置...

      </plugin>
    </plugins>
</build>

    14:<parent>:繼承標籤,用於繼承父項目。

    15:<moudules>:聚合標籤,用於聚合多個maven項目,這樣用某指令執行這個pom就會把聚合的各項目所有執行,同時處理多個項目。

 

    示例:一個簡單的構建JavaWeb項目的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/maven-v4_0_0.xsd">
  
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>WebApp</artifactId>
  <packaging>war</packaging>
  <version>1.0</version>
  
  <name>WebApp Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <dependencies>    
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.1</version>
    </dependency>
    
    <!--commons-io爲commons-fileupload的可選依賴包-->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.3.2</version>
    </dependency>
  </dependencies>
  
  <build>
    <finalName>WebApp</finalName>
  </build>
</project>
相關文章
相關標籤/搜索