所屬欄目:礦業(yè)論文 發(fā)布日期:2014-06-27 16:59 熱度:
項目作為Maven的基本概念,包含pom.xml的任何一個文件都是一個項目,及項目被定義為項目對象模型。項目之間可以相互依賴,一個項目也可能由多個子項目構(gòu)成,另外,項目之間還可以繼承。
【摘要】我們通常將Ant用于java項目的構(gòu)建,編譯、打包等任務(wù)都可以在一個build.xml中完成,碰到的問題也是很多的,比如每個項目結(jié)構(gòu)的build.xml相差較大等,Maven的出現(xiàn),極大的改觀了這個問題。文章重點介紹了使用Maven管理項目的基本概念。項目對象模型、依賴管理系統(tǒng)、倉庫與插件構(gòu)成了Maven強大功能的基礎(chǔ)。總結(jié)了Maven在項目管理中的最佳實踐,從建立統(tǒng)一的項目結(jié)構(gòu)到項目依賴包的管理,以及在Eclipse集成開發(fā)環(huán)境中集成、使用Maven的特性。
【關(guān)鍵詞】項目管理論文發(fā)表,Maven,項目,倉庫,依賴管理,插件
1Maven概述
什么是Maven?Apache給Maven的定義是:Maven是一個項目管理工具,由一個項目對象模型,一組標準集合,一個項目生命周期,一個依賴管理系統(tǒng),以及用來定義在生命周期階段中插件目標的邏輯組成。
2Maven基礎(chǔ)
坐標是一個項目的唯一標識,它包括groupId、artifactId和version。groupId定義了項目屬于哪個組,這個組往往和項目所在的組織或公司存在關(guān)聯(lián),artifactId定義了當前Maven項目在組中唯一的ID,version顧名思義就是當前項目的版本。
在Maven中另一個重要概念就是倉庫(Repository)。因為坐標機制,不同Maven項目使用任何一個構(gòu)建都是完全相同的。在此基礎(chǔ)上,Maven可以在一個統(tǒng)一的位置存儲所有Maven項目共享的構(gòu)件,這個統(tǒng)一的位置就是倉庫。因為任何一個構(gòu)件都有其唯一的坐標,根據(jù)這個坐標可以定義其在倉庫中的唯一存儲路徑,這便是Maven的倉庫布局方式。譬如:groupId=org.testng,artifactId=testng,version=5.8,classifier=jdk15,packaging=jar。生成的路徑:org/testng/testng/5.8/testng-5.8-jdk15.jar。
倉庫的功能是非常強大的,特別是私服,它可以節(jié)省外網(wǎng)帶寬,加速Maven構(gòu)建,部署第三方構(gòu)建,提高穩(wěn)定性、增強控制,降低中央倉庫負荷等。有了倉庫不同的項目不需要再各自包含所依賴的三方庫,倉庫會自動在多個項目之間共享庫。此外,不同項目也可以調(diào)用mvninstall產(chǎn)生自己的構(gòu)建件,然后部署到中央倉庫、遠程倉庫或者私服,其他項目如果有依賴,可以很方便的下載到。
Maven強大的真正原因在于其插件機制,Maven的核心幾乎不做什么實際的事情,除了解析一些xml文檔,管理生命周期和插件之外,什么也不懂。其余功能都是委派給一組Maven插件去實現(xiàn),所以Maven下載很小,在實際執(zhí)行Maven任務(wù)時,根據(jù)需要自動下載相應的插件。插件能夠影響Maven的生命周期,提供對目標的訪問。Maven插件大部分用java開發(fā),同時也支持BeanShell、Ant編寫的插件,用戶自己也可以編寫專用的插件。
3Maven管理項目的實踐
3.1標準化的項目結(jié)構(gòu)
定義了項目的標準模版,這是Maven的一個重要的特性。使用命令行式操作,通過命令mvnarchetype:create-DgroupId=com.test-DartifactId=test-app,就創(chuàng)建了一個簡單的Maven項目,無需一行腳本,就能實現(xiàn)眾多功能。同時,Maven還提供了類型模版,通過添加參數(shù)-DarchetypeArtifactId={類型名}即可完成創(chuàng)建。
3.2類庫的管理
類庫管理是Maven的一個重要特色。在pom.xml中配置好jar包的版本和依賴,能方便實現(xiàn)對jar文件的管理。同時Maven通過對pom.xml文件的管理來處理jar包間的依賴。比如有一個jar文件為google.jar,同級目錄必然有一個和它相關(guān)的pom.xml文件,這個pom.xml文件肯定配置了google.jar對其他jar包的依賴。這時需要我們手動去下載依賴包,在執(zhí)行Maven命令時會自動下載相應的依賴包,這叫傳遞性依賴,只需配置對google的依賴而無需關(guān)心google對其他jar的依賴。
由于pom.xml文件對jar包的管理,使得Maven有一個特性:項目文件的容量很小。以前一個web項目里,庫文件都需要存放到WEB-INF/lib下,同時存入源代碼庫中,動輒幾十M。通過Maven管理,僅需要一個pom.xml,項目文件一般幾百K。
3.3Maven和Eclipse的結(jié)合
Maven和Eclipse的結(jié)合,使得Maven的使用更加方便。這得益于m2eclipse插件,它聯(lián)結(jié)了Eclipse的易用性和Maven的強大功能,從而給Eclipse帶來了穩(wěn)定的自動化構(gòu)建過程[2]。首先,是和項目創(chuàng)建導入相關(guān)的特性:如從SVN簽出項目、利用預定義原型為建立項目提供向?qū)Чδ堋F浯危鎰e命令行,根據(jù)菜單、窗口直觀操作。也可以自己組合Maven命令。再次,m2eclipse內(nèi)置中央倉庫檢索功能,不需再通過瀏覽器訪問中央倉庫。最后,m2eclipse提供了對pom.xml文件的編譯功能,使得依賴包、倉庫、插件等元素的編譯變得更加直觀。
4結(jié)束語
本文主要講述了使用Maven管理項目需要了解的一些基本概念,Maven作為一個新的項目構(gòu)建工具,簡單易用,使得項目的構(gòu)建部署不再混亂不堪,整個過程更加規(guī)范、有序。然后討論了Maven管理項目的實踐,如何建立標準化的項目結(jié)構(gòu)、類庫管理,最后介紹了在Eclipse集成環(huán)境中使用Maven的優(yōu)勢。
文章標題:項目管理論文發(fā)表應用Maven簡化項目管理
轉(zhuǎn)載請注明來自:http://www.56st48f.cn/fblw/ligong/kuangye/21526.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:107
Nature旗下多學科子刊Nature Com...關(guān)注:152
中小學教師值得了解,這些教育學...關(guān)注:47
2025年寫管理學論文可以用的19個...關(guān)注:192
測繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時開論文檢索證明很重要關(guān)注:52
中國水產(chǎn)科學期刊是核心期刊嗎關(guān)注:54
國際出書需要了解的問題解答關(guān)注:58
合著出書能否評職稱?關(guān)注:48
電信學有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:121
評職稱發(fā)論文好還是出書好關(guān)注:68
復印報刊資料重要轉(zhuǎn)載來源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評估...關(guān)注:59
理工論文范文
建筑設(shè)計論文 城市規(guī)劃論文 礦業(yè)論文 機電一體化論文 包裝論文 交通運輸論文 化工論文 電力論文 水力論文 自動化論文 車輛論文 冶金論文 工業(yè)設(shè)計論文 機械論文
SCI期刊分析
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網(wǎng) 冀ICP備15021333號-3