Maven

Maven項目對象模型(POM)苟翻,可以通過一小段描述信息來管理項目的構(gòu)建伯病,報告和文檔的軟件項目管理工具斥季。

Maven 除了以程序構(gòu)建能力為特色之外减余,還提供高級項目管理工具。由于 Maven 的缺省構(gòu)建規(guī)則有較高的可重用性府怯,所以常常用兩三行 Maven 構(gòu)建腳本就可以構(gòu)建簡單的項目刻诊。由于 Maven 的面向項目的方法,許多 Apache Jakarta 項目發(fā)文時使用 Maven牺丙,而且公司項目采用 Maven 的比例在持續(xù)增長则涯。

Maven這個單詞來自于意第緒語(猶太語),意為知識的積累赘被,最初在Jakata Turbine項目中用來簡化構(gòu)建過程是整。當(dāng)時有一些項目(有各自Ant build文件),僅有細微的差別民假,而JAR文件都由CVS來維護。于是希望有一種標(biāo)準(zhǔn)化的方式構(gòu)建項目龙优,一個清晰的方式定義項目的組成羊异,一個容易的方式發(fā)布項目的信息事秀,以及一種簡單的方式在多個項目中共享JARs。



常用命令

編輯

mvn archetype:generate 創(chuàng)建Maven項目

mvn compile 編譯源代碼

mvn deploy 發(fā)布項目

mvn test-compile 編譯測試源代碼

mvn test 運行應(yīng)用程序中的單元測試

mvn site 生成項目相關(guān)信息的網(wǎng)站

mvn clean 清除項目目錄中的生成結(jié)果

mvn package 根據(jù)項目生成的jar

mvn install 在本地Repository中安裝jar

mvn eclipse:eclipse 生成eclipse項目文件

mvnjetty:run 啟動jetty服務(wù)

mvntomcat:run 啟動tomcat服務(wù)

mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包野舶,跳過測試類


Win7配置

編輯

首先要安裝Jdk1.6 和Myeclipse7.5 易迹。

1. Maven有一個重要的文件"settings.xml“,這個文件來源于apache-maven-2.0.8/conf/ 下平道,要放在window下睹欲, Win7和Winxp還是有點不一樣 , Win7 ---C:\Users\用戶名\.m2 一屋, Winxp ---C:\Documents and Settings\用戶名\.m2 窘疮。

2. 設(shè)置Maven的環(huán)境變量,基本上和設(shè)置Jdk環(huán)境變量相似冀墨,首先設(shè)置MAVEN_HOME闸衫,再加入Path 。

3. 修改”settings.xml” 文件诽嘉,在這個文件中找到d:/work這一行蔚出,進行修改。這一行代表了Maven的Jar包倉庫的位置虫腋。work下放的都是項目所用到的jar包骄酗,每個Project都可以共用一個work。

4. Myeclipse7.5及以上版本本身自帶Maven插件悦冀。如果使用低版本的Myeclipse需要安裝插件趋翻,在help菜單中選擇software updates,選擇find and install雏门,選擇search for new features to install-選擇new remote site嘿歌。寫入 name:maven URL:http:// m2eclipse.codehaus . org/update/去下載相關(guān)jar包和插件。

5. 在Myeclipse中windows-perferences中茁影,在下圖的位置上宙帝,查看users settings的路徑是否正確。

6. 建立Maven的project募闲,F(xiàn)ile--new—other—Java Maven Project步脓。

7. 然后打開project里pom.xml文件,


在這xml文件中添加Maven所依賴的Jar的名稱浩螺,也就是添加節(jié)點靴患。

例如:添加大家常用的Struts Jar包


8. 到發(fā)文時為止,環(huán)境就算搞定了要出。接下來要應(yīng)用Maven來打包Project為大家服務(wù)的鸳君。

在cmd中的命令:

a. mvn eclipse:clean 清除Project中以前的編譯的東西,重新再來

b. mvn eclipse:eclipse 開始編譯Maven的Project

在Myeclipse中的操作:

a. 選中Maven Project 右擊 在Run As中選擇Maven clean

b. 在Myeclipse中患蹂,Project—Clean 開始編譯

c. 選中Maven Project 右擊 在Run As中選擇Maven install

執(zhí)行完這幾步或颊,如果沒發(fā)生異常砸紊,會在project里生成一個target文件夾,這個文件夾里的東西囱挑,就是Maven打包發(fā)布的東西醉顽。


生命周期

編輯

Maven的生命周期是為了對所有的構(gòu)建過程進行了抽象了,便于統(tǒng)一平挑。

clean(清理)

cleanup(清理所有)

此生命周期旨在給工程做清理工作游添,它主要包含以下階段:

pre-clean- 執(zhí)行項目清理前所需要的工作。

clean- 清理上一次build項目生成的文件通熄。

post-clean- 執(zhí)行完成項目清理所需的工作.

default(默認(rèn))

validate- 驗證項目是否正確且所有必要的信息都可用唆涝。

initialize- 初始化構(gòu)建工作,如:設(shè)置參數(shù)棠隐,創(chuàng)建目錄等石抡。

generate-sources- 為包含在編譯范圍內(nèi)的代碼生成源代碼.

process-sources- 處理源代碼, 如過濾值.

generate-resources-

process-resources- 復(fù)制并處理資源文件,至目標(biāo)目錄助泽,準(zhǔn)備打包啰扛。

compile- 編譯項目中的源代碼.

process-classes- 為編譯生成的文件做后期工作, 例如做Java類的字節(jié)碼增強.

generate-test-sources- 為編譯內(nèi)容生成測試源代碼.

process-test-sources- 處理測試源代碼。

generate-test-resources-

process-test-resources- 復(fù)制并處理資源文件嗡贺,至目標(biāo)測試目錄隐解。

test-compile- 將需測試源代碼編譯到路徑。一般來說诫睬,是編譯/src/test/java目錄下的java文件至目標(biāo)輸出的測試classpath目錄中煞茫。

process-test-classes-

test- 使用合適的單元測試框架運行測試。這些測試代碼不會被打包或部署摄凡。

prepare-package-

package- 接受編譯好的代碼续徽,打包成可發(fā)布的格式,如 JAR 亲澡。

pre-integration-test-

integration-test- 按需求將發(fā)布包部署到運行環(huán)境钦扭。

post-integration-test-

verify-

install-將包安裝到本地倉庫,給其他本地引用提供依賴床绪。

deploy-完成集成和發(fā)布工作客情,將最終包復(fù)制到遠程倉庫以便分享給其他開發(fā)人員。

site(站點)

pre-site- 執(zhí)行一些生成項目站點前的準(zhǔn)備工作癞己。

site- 生成項目站點的文檔膀斋。

post-site- 執(zhí)行需完成站點生成的工作,如站點部署的準(zhǔn)備工作痹雅。

site-deploy- 向制定的web服務(wù)器部署站點生成文件仰担。[2]




鏡像倉庫


本地倉庫

Maven默認(rèn)位置在用戶目錄下.m2目錄中

更改本地倉庫位置

打開setting.xml

找到




復(fù)制setting.xml到 repo中防止MAVEN更新 需要從新修改

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绩社,隨后出現(xiàn)的幾起案子惰匙,更是在濱河造成了極大的恐慌技掏,老刑警劉巖铃将,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件项鬼,死亡現(xiàn)場離奇詭異,居然都是意外死亡劲阎,警方通過查閱死者的電腦和手機绘盟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悯仙,“玉大人龄毡,你說我怎么就攤上這事∥ⅲ” “怎么了沦零?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長货岭。 經(jīng)常有香客問我路操,道長,這世上最難降的妖魔是什么千贯? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任屯仗,我火速辦了婚禮,結(jié)果婚禮上搔谴,老公的妹妹穿的比我還像新娘魁袜。我一直安慰自己,他們只是感情好敦第,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布峰弹。 她就那樣靜靜地躺著,像睡著了一般芜果。 火紅的嫁衣襯著肌膚如雪鞠呈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天师幕,我揣著相機與錄音粟按,去河邊找鬼。 笑死霹粥,一個胖子當(dāng)著我的面吹牛灭将,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播后控,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼庙曙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浩淘?” 一聲冷哼從身側(cè)響起捌朴,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤吴攒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后砂蔽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洼怔,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年左驾,在試婚紗的時候發(fā)現(xiàn)自己被綠了镣隶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡诡右,死狀恐怖安岂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帆吻,我是刑警寧澤域那,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站猜煮,受9級特大地震影響次员,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜友瘤,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一翠肘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辫秧,春花似錦束倍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柿究,卻和暖如春邮旷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蝇摸。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工婶肩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人貌夕。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓律歼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親啡专。 傳聞我的和親對象是個殘疾皇子险毁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容