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

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

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

    小石頭
    Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.
    posts - 91,comments - 22,trackbacks - 0

    轉?。?a >http://cc.msnscache.com/cache.aspx?q=5879089626553&lang=zh-CN&mkt=zh-CN&FORM=CVRE3
    一直以來,沉浸的ant的成就中,我也沒有對項目資源的管理提出更高的要求,也許本身也是項目接觸的原因。罱捎詮駒謐蚴褂胮ortal技術,而且是用開源的jetspeed.我當時聽了一大跳,說那么大的企業級應用怎么能這么草率的選擇開源的東西(雖然我對開源這東西很喜歡)。沒有辦法了,領導命令下來,做兵的只能埋頭苦干了。一開始碰到的是項目的編譯問題。說jetspeed是基于maven描述的

    。
    ?? 暈~!maven是什么東西,看來真的是孤陋寡聞了。以前一直是eclipse的平臺下開發,加上ant工具,對項目的創建,開發,發布,文檔生成都很方便。第一次聽到這東西很納悶,心里罵到,這群人是不是吃了沒事干啊??墒橇R歸罵,事情還得做。老方法,第一步google,第二步找到官方站點。我才奇怪,apache每天都上怎么就沒有注意的這東東呢???,看來rimen我真的很懶了,懶得連舉手之勞的事情都不做了~。言歸正傳,從實際的項目出發。我的目的很簡單,就是能夠建立jetspeed項目,能夠讓他在eclipse進行開發。在我心里就有了如下的問題:
    ?1.maven是什么東西
    ?2.maven和ant由什么區別,maven和現有的IDE工具有什么關系
    ?3.maven的主要過程和原理
    ?4.怎么利用maven進行項目的開發和管理
    ?經過一天的努力,查詢了一些相關的資料,發現有價值的中文資料不多,最全的還是apache上的doc文檔。不過都是老外的文字,要知道我最痛恨的就是那些僅有線條沒有寓意的文字了。不過為了工作也為了自己,咳,沒有辦法了,重洋眉外一下了,大家不要罵我^_^。但是這里還是推薦一篇對初學者比較有價值的文章,matrix上的:http://www.matrix.org.cn/resource/article/43/43661_Maven.html 也是從英文翻譯過來的,咳,國人啊,加油啊~!
    ?開始解開那幾個問題了.
    ?第一個問題很簡單,它就是一個工具,僅僅是一個工具,至于什么工具下面問題就可以體現了。它的原始想法就是為了簡化jakarta螺旋式項目的構建,解決項目之間jar依賴的共享。往往偉大的發明都是來自于解決某些人的懶惰,看當初java就是,服了那些老外了,什么都想的出,我也很懶,我也發現在eclipse開發多個項目的時候管理jar之間的版本很麻煩,可是我就想不出這個東西,任命了。
    ?我相信大家只要開發過java程序的人,或多或少都會接觸到ant的東東,怎么說呢,ant其實只能說一個腳本解析器,它對任務的處理還得依賴于外部的工具。這就不得不想到makefile這東西了,在以前開發c程序的時候,為了管理c項目的各種資源包括原文件和類庫,對編譯工具提供了一個make工具。我個人覺得ant就是make的java版本,錯了莫怪。至于maven,那可不是一言兩語可以概括的。不過我們可以重程序和源碼中抽身出來,想象自己是個pm或者一個architecture來觀察一個項目或一個軟件產品。它提供很多的基礎構件,特別是對j2ee系統,每個組件都可以看成一個宏觀上的資源。我們從軟件工廠的角度出發,它里面保護了機器設備(external jars,tools,plugins ),生產原料(jar,src,config file,databse),產品(ear,war,jar,doc,config file 等)。下面我們要管理這些東西,叫一個人(老總)取管理,我看他在高的工資也不會干,因為他知道錢有命賺沒命花,同時也為了考慮可發展道路,他不會這么干的。所以在maven中引入了plugin的概念。這個plugin管理的東西是上面的說的構件,這樣我們必須就有一東西來記錄這些東西,不然它怎么知道這是不是它的管轄范圍,這就是通過project.xml文件進行定義,它是基于pom元數據結合xml技術進行描述。當然有了被管理的對象,工廠必須有其業務規則,不然它也運作不起來,這就是通過plugin.jelly進行定義,利用jelly腳步語言進行構建每一個管理的目標。這樣老總一句話(maven命令),加上目標名,他就會找到相應的plugin進行根據它定義的規則進行處理。這僅僅是從宏觀上的描述,真的的原理還必須參考相關的文檔進行。這里面提出幾個概念大家可以注意一下,maven plugin,jelly腳本,pom元數據,軟件工廠等。還有一點就是和目前流行的IDE工具例如eclipse,instillj,jbuider,netbeans IDE 等工具的關系。以eclipse為例,嚴格來說maven和eclipse應該是風馬牛不相及的東西,如果硬要把這個兩個東西來過來說的話,那也只是人為強加的因素。但是可以肯定的作為常用的軟件,如果說maven創建的項目,如果不能在eclipse中開發,這可能就失去了這些工具的原來意義,這也許就是他們之間的唯一聯系。首先maven和eclipse對象項目資源描述元數據都是不同的,當然現在有mavenide(maven workshop)等工具來保證這些元數據之間的轉換和同步。其次eclispe和maven之間的功能和職責不同,maven基本上不用來進行源碼的開發,這樣用eclipse和maven結合來開發確實可以減少很多工作量。
    ?3.maven的主要原理我想沒有比它doc上將的清楚。我想說的就一點,一開始我總用ant的觀點去理解它,總覺得少了很多東西。其實maven最大的成功在于簡化了面向過程的任務管理。你知道定義資源,maven用基于插件的目標方式來完成構建。當然你也可以想ant一樣定義自己特殊的目標,你也可以把自己項目的目標制作成通用的插件。
    ?4.maven的項目開發,通過默認的模板新建一個maven項目.它會生成項目的各種資源和目錄,例如src,conf等.然后你可以通過maven的IDE插件生成相應的IDE項目,例如maven eclipse.
    ??????? 其實我也只是用它來編譯jetspeed.目前越來越多的項目基于maven的方式發布,我們可以通過maven的插件把它轉換成自己適應的IDE項目進行開發.基于它對項目管理強大功能,對資源和項目版本管理的統一性,我相信會有越來越多人會選擇它來做項目管理工具,特別是團隊開發.

    posted on 2007-02-12 12:18 小石頭 閱讀(393) 評論(0)  編輯  收藏 所屬分類: maven、ant
    主站蜘蛛池模板: 亚洲一级片免费看| 亚洲AV无码成人精品区大在线| 日韩大片免费观看视频播放| 亚洲视频精品在线| 久久精品亚洲中文字幕无码麻豆| 亚洲国产精品成人久久蜜臀| 天天拍拍天天爽免费视频| 88av免费观看入口在线| 99国产精品免费视频观看| 中文字幕在线免费观看视频| 亚洲爆乳无码精品AAA片蜜桃| 久久亚洲国产成人精品性色| 亚洲国产精品无码专区在线观看 | 国产精品亚洲а∨无码播放| 亚洲国产成人a精品不卡在线| 尤物永久免费AV无码网站| 拨牐拨牐x8免费| 国产精品免费一级在线观看| 美女黄网站人色视频免费国产| 久久久久国色AV免费观看性色| 91成年人免费视频| 国产精品免费小视频| 亚洲日本在线观看视频| 亚洲色欲久久久综合网| 亚洲黄色中文字幕| 亚洲色成人网站WWW永久四虎| 国产午夜亚洲精品不卡| 无码中文字幕av免费放dvd| 成人性生活免费视频| 亚洲香蕉网久久综合影视| 亚洲色图综合网站| 亚洲AV无码专区国产乱码不卡| 久青草国产免费观看| 99在线精品免费视频九九视| 国产一级做a爱免费视频| 久久91亚洲人成电影网站| 波多野结衣亚洲一级| 黄网站免费在线观看| 免费一级毛片免费播放| 亚洲高清无在码在线无弹窗 | 亚洲无线码一区二区三区|