您好,登錄后才能下訂單哦!
什么是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)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。