Maven元素解析——pom.xml


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

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

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

    2:<modelVersion>:maven的版本

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

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

        <artifactId>:項目名-模塊名

        <version>:版本號+類型

                        版本號由三個整數表示,每個整數用“.”分隔,表示:大版本號.分支版本號.小版本號

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

        <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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM