溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Maven配置文件pom.xml詳解

發(fā)布時間:2020-08-31 05:38:21 來源:腳本之家 閱讀:331 作者:Yakov 欄目:編程語言

什么是POM?

POM是項目對象模型(Project Object Model)的簡稱,它是Maven項目中的文件,使用XML表示,名稱叫做pom.xml。在Maven中,當談到Project的時候,不僅僅是一堆包含代碼的文件。一個Project往往包含一個配置文件,包括了與開發(fā)者有關的,缺陷跟蹤系統(tǒng),組織與許可,項目的URL,項目依賴,以及其他。它包含了所有與這個項目相關的東西。事實上,在Maven世界中,project可以什么都沒有,甚至沒有代碼,但是必須包含pom.xml文件。

概覽

下面是一個POM項目中的pom.xml文件中包含的元素。注意,其中的modelVersion是4.0.0,這是當前僅有的可以被Maven2&3同時支持的POM版本,它是必須的。

<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>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>
  <packaging>...</packaging>
  <dependencies>...</dependencies>
  <parent>...</parent>
  <dependencyManagement>...</dependencyManagement>
  <modules>...</modules>
  <properties>...</properties>
  
  <!-- 構建過程的設置 -->
  <build>...</build>
  <reporting>...</reporting>
  
  <!-- 項目信息設置 -->
  <name>...</name>
  <description>...</description>
  <url>...</url>
  <inceptionYear>...</inceptionYear>
  <licenses>...</licenses>
  <organization>...</organization>
  <developers>...</developers>
  <contributors>...</contributors>
  
  <!-- 環(huán)境設置 -->
  <issueManagement>...</issueManagement>
  <ciManagement>...</ciManagement>
  <mailingLists>...</mailingLists>
  <scm>...</scm>
  <prerequisites>...</prerequisites>
  <repositories>...</repositories>
  <pluginRepositories>...</pluginRepositories>
  <distributionManagement>...</distributionManagement>
  <profiles>...</profiles>
</project>

基本的設置:

POM包含了一個project所需要的所有信息,當然也就包含了構建過程中所需要的插件的配置信息,事實上,這里申明了"who","what",和"where",然而構建生命周期(build lifecycle)s中說的是"when"和"how"。這并不是說POM并能影響生命周期的過程-事實上它可以。例如,配置一個可以嵌入ant任務到POM的mavem-antrun-plugin。它基本上就是一個聲明。就像build.xml告訴ant當運行時它該做什么一樣,一個POM申明了它自己的配置。如果外力迫使生命周期跳過了ant插件的執(zhí)行,這并不影響那些已經(jīng)執(zhí)行過的插件產(chǎn)生的效果。這一點和build.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>org.codehaus.mojo</groupId>
  <artifactId>my-project</artifactId>
  <version>1.0</version>
</project>

Maven坐標

上面的POM定義的是Maven2&3都承認的最小部分。groupId:artifactId:version是必須的字段(盡管在繼承中groupId和version不需要明確指出)。這三個字段就像地址和郵戳,它標記了倉庫中的特定位置,就像Maven projects的坐標系統(tǒng)一樣。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI