<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

    maven 使用入門編寫pom 文件

    我們利用ecilpse 創(chuàng)建1個簡單的maven項目 來看看他的pom文件

    就像Make的Makefile、Ant的build.xml一樣,Maven項目的核心是pom.xml。POM(Project Object Model,項目對象模型)定義了項目的基本信息,用于描述項目如何構(gòu)建,聲明項目依賴,等等。現(xiàn)在先為Hello World項目編寫一個最簡單的pom.xml。

    首先創(chuàng)建一個名為helloworld的文件夾,打開該文件夾,新建一個名為pom.xml的文件,輸入其內(nèi)容,如代碼清單3-1所示。

    代碼清單3-1 Hello World的POM

    1. <?xml version="1.0" encoding="UTF-8"?> 
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" 
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" 
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0  
    5. http://maven.apache.org/mavenv4_0_0.xsd"> 
    6. <modelVersion>4.0.0</modelVersion> 
    7. <groupId>com.juvenxu.mvnbook</groupId> 
    8. <artifactId>helloworld</artifactId> 
    9. <version>1.0SNAPSHOT</version> 
    10. <name>Maven Hello World Project</name> 
    11. </project> 

    代碼的第一行是XML頭,指定了該xml文檔的版本和編碼方式。緊接著是project元素,project是所有pom.xml的根元素,它還聲明了一些POM相關(guān)的命名空間及xsd元素,雖然這些屬性不是必須的,但使用這些屬性能夠讓第三方工具(如IDE中的XML編輯器)幫助我們快速編輯POM。

    根元素下的第一個子元素modelVersion指定了當(dāng)前POM模型的版本,對于Maven 2及Maven 3來說,它只能是4.0.0。

    這段代碼中最重要的是包含groupId、artifactId和version的三行。這三個元素定義了一個項目基本的坐標(biāo),在Maven的世界,任何的jar、pom或者war都是以基于這些基本的坐標(biāo)進(jìn)行區(qū)分的。

    groupId定義了項目屬于哪個組,這個組往往和項目所在的組織或公司存在關(guān)聯(lián)。譬如在googlecode上建立了一個名為myapp的項目,那么groupId就應(yīng)該是com.googlecode.myapp,如果你的公司是mycom,有一個項目為myapp,那么groupId就應(yīng)該是com.mycom.myapp。本書中所有的代碼都基于groupId com.juvenxu.mvnbook。

    artifactId定義了當(dāng)前Maven項目在組中唯一的ID,我們?yōu)檫@個Hello World項目定義artifactId為helloworld,本書其他章節(jié)代碼會分配其他的artifactId。而在前面的groupId為com.googlecode.myapp的例子中,你可能會為不同的子項目(模塊)分配artifactId,如myapputil、myappdomain、myappweb等。

    顧名思義,version指定了Hello World項目當(dāng)前的版本——1.0SNAPSHOT。SNAPSHOT意為快照,說明該項目還處于開發(fā)中,是不穩(wěn)定的版本。隨著項目的發(fā)展,version會不斷更新,如升級為1.0、1.1SNAPSHOT、1.1、2.0等。6.5節(jié)會詳細(xì)介紹SNAPSHOT,第13章會介紹如何使用Maven管理項目版本的升級發(fā)布。

    最后一個name元素聲明了一個對于用戶更為友好的項目名稱,雖然這不是必須的,但還是推薦為每個POM聲明name,以方便信息交流。

    沒有任何實際的Java代碼,我們就能夠定義一個Maven項目的POM,這體現(xiàn)了Maven的一大優(yōu)點,它能讓項目對象模型最大程度地與實際代碼相獨立,我們可以稱之為解耦,或者正交性。這在很大程度上避免了Java代碼和POM代碼的相互影響。比如當(dāng)項目需要升級版本時,只需要修改POM,而不需要更改Java代碼;而在POM穩(wěn)定之后,日常的Java代碼開發(fā)工作基本不涉及POM的修改。

    posted on 2014-03-05 11:48 順其自然EVO 閱讀(5023) 評論(1)  編輯  收藏 所屬分類: maven

    評論

    # re: maven 使用入門編寫pom 文件 2015-11-10 20:11 玩玩

    3333  回復(fù)  更多評論   

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久青青草原亚洲AV无码麻豆| 亚洲伊人精品综合在合线| 黄网站免费在线观看| 亚洲视频在线观看| 在线a人片天堂免费观看高清| 黄色免费网址大全| 亚洲bt加勒比一区二区| 久久av无码专区亚洲av桃花岛| 又黄又爽又成人免费视频| 免费在线观看一区| 亚洲第一成年人网站| 亚洲AV无码之日韩精品| xx视频在线永久免费观看| 污视频网站免费在线观看| 中文字幕亚洲精品资源网| 亚洲AV网站在线观看| 国产精彩免费视频| 国产免费MV大全视频网站| 最新亚洲卡一卡二卡三新区| 国产亚洲真人做受在线观看| 成人免费无码大片A毛片抽搐色欲| 中文日本免费高清| 99亚洲男女激情在线观看| 91在线精品亚洲一区二区| 亚洲精品一级无码中文字幕| 野花高清在线电影观看免费视频 | 最近中文字幕mv手机免费高清| 久久WWW免费人成—看片| 亚洲视频在线观看2018| 久久久影院亚洲精品| 亚洲国产精品一区二区九九 | 91手机看片国产永久免费| 中国一级特黄的片子免费| 亚洲日本一线产区和二线产区对比| 国产亚洲综合一区柠檬导航| 免费人成在线观看播放国产| 99re热免费精品视频观看| 91大神免费观看| 国产无遮挡裸体免费视频在线观看| 在线播放国产不卡免费视频| 国产精品亚洲一区二区在线观看|