小編給大家分享一下maven中pom.xml的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于成都網站制作、成都做網站、外貿營銷網站建設、雞東網絡推廣、微信小程序開發(fā)、雞東網絡營銷、雞東企業(yè)策劃、雞東品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供雞東建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.cdcxhl.com
POM 代表工程對象模型。它是使用 Maven 工作時的基本組建,是一個 xml 文件。它被放在工程根目錄下,文件命名為 pom.xml。
POM 包含了關于工程和各種配置細節(jié)的信息,Maven 使用這些信息構建工程。
POM 也包含了目標和插件。當執(zhí)行一個任務或者目標時,Maven 會查找當前目錄下的 POM,從其中讀取所需要的配置信息,然后執(zhí)行目標。能夠在 POM 中設置的一些配置如下:
project dependencies
plugins
goals
build profiles
project version
developers
mailing list
在創(chuàng)建 POM 之前,我們首先確定工程組(groupId),及其名稱(artifactId)和版本,在倉庫中這些屬性是工程的唯一標識。
POM 舉例
4.0.0 com.companyname.project-group project 1.0
需要說明的是每個工程應該只有一個 POM 文件。
所有的 POM 文件需要 project 元素和三個必須的字段:groupId, artifactId,version。
在倉庫中的工程標識為 groupId:artifactId:version
POM.xml 的根元素是 project,它有三個主要的子節(jié)點:
節(jié)點 | 描述 |
---|---|
groupId | 這是工程組的標識。它在一個組織或者項目中通常是唯一的。例如,一個銀行組織 com.company.bank 擁有所有的和銀行相關的項目。 |
artifactId | 這是工程的標識。它通常是工程的名稱。例如,消費者銀行。groupId 和 artifactId 一起定義了 artifact 在倉庫中的位置。 |
version | 這是工程的版本號。在 artifact 的倉庫中,它用來區(qū)分不同的版本。例如: com.company.bank:consumer-banking:1.0 com.company.bank:consumer-banking:1.1. |
Super POM
所有的 POM 都繼承自一個父 POM(無論是否顯式定義了這個父 POM)。父 POM 也被稱作 Super POM,它包含了一些可以被繼承的默認設置。
Maven 使用 effective pom(Super pom 加上工程自己的配置)來執(zhí)行相關的目標,它幫助開發(fā)者在 pom.xml 中做盡可能少的配置,當然這些配置可以被方便的重寫。
查看 Super POM 默認配置的一個簡單方法是執(zhí)行以下命令:mvn help:effective-pom
在你的電腦上的任意目錄下創(chuàng)建一個 pom.xml 文件,使用上面提到的示例 pom 中的內容。
在下面的例子中,我們在 C:\MVN\project 目錄中創(chuàng)建了一個 pom.xml 文件。
現(xiàn)在打開命令控制臺,到 pom.xml 所在的目錄下執(zhí)行以下 mvn 命令。
C:\MVN\project>mvn help:effective-pom
Maven 將會開始處理并顯示 effective-pom。
[INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'help'. [INFO] ------------------------------------------------------------------------ [INFO] Building Unnamed - com.companyname.project-group:project-name:jar:1.0 [INFO] task-segment: [help:effective-pom] (aggregator-style) [INFO] ------------------------------------------------------------------------ [INFO] [help:effective-pom {execution: default-cli}] [INFO] ..... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: < 1 second [INFO] Finished at: Thu Jul 05 11:41:51 IST 2012 [INFO] Final Memory: 6M/15M [INFO] ------------------------------------------------------------------------
Effective POM 的結果就像在控制臺中顯示的一樣,經過繼承、插值之后,使配置生效。
4.0.0 com.companyname.project-group project 1.0 C:\MVN\project\src\main\java src/main/scripts C:\MVN\project\src\test\java C:\MVN\project\target\classes C:\MVN\project\target\test-classes resource-0 C:\MVN\project\src\main\resources resource-1 C:\MVN\project\src\test\resources C:\MVN\project\target project-1.0 maven-antrun-plugin 1.3 maven-assembly-plugin 2.2-beta-2 maven-clean-plugin 2.2 maven-compiler-plugin 2.0.2 maven-dependency-plugin 2.0 maven-deploy-plugin 2.4 maven-ear-plugin 2.3.1 maven-ejb-plugin 2.1 maven-install-plugin 2.2 maven-jar-plugin 2.2 maven-javadoc-plugin 2.5 maven-plugin-plugin 2.4.3 maven-rar-plugin 2.2 maven-release-plugin 2.0-beta-8 maven-resources-plugin 2.3 maven-site-plugin 2.0-beta-7 maven-source-plugin 2.0.4 maven-surefire-plugin 2.4.3 maven-war-plugin 2.1-alpha-2 maven-help-plugin 2.1.1 false central Maven Repository Switchboard http://repo1.maven.org/maven2 never false central Maven Plugin Repository http://repo1.maven.org/maven2 C:\MVN\project\target/site
在上面的 pom.xml 中,你可以看到 Maven 在執(zhí)行目標時需要用到的默認工程源碼目錄結構、輸出目錄、需要的插件、倉庫和報表目錄。
Maven 的 pom.xml 文件也不需要手工編寫。
Maven 提供了大量的原型插件來創(chuàng)建工程,包括工程結構和 pom.xml。
以上是“maven中pom.xml的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!