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

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

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

    隨筆 - 3  文章 - 7  trackbacks - 0
    <2007年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    一Ant與Maven的對比
            提到Maven就不得不提到Ant,Apache Ant is a Java-based build tool.這個是Ant的指南的導言中的第一句話,有兩個意思,一是指明ant是基于java語言開發的,另一個意思是指明了ant是一個構建工具。而在Maven的主頁上的第一句話Maven is a software project management and comprehension tool.指出了Maven是一個軟件項目管理工具,(在此段將Maven翻譯成軟件項目管理工具我是有疑義的,但網上查看資料都是這樣翻譯的,而且Project Management直譯的確有項目管理的意思,晚些時候再討論此處)。
            單純的從字面意思上來理解,根本覺得ant與Maven是風馬牛不相及的,而大家對于這兩個工具為什么會劃上等號,我覺得要從本質上來看Ant與Maven所做的工作了。
            Ant既然是構建工具,那ant可以做哪些事呢?編譯代碼、單元測試、生成文檔、打包、制作安裝包、混淆代碼、部署等等,ant的功能可以說是非常強大的,不過整個構建過程(構建的生命周期)里需要做哪些事情,完全是需要我們自己思考定義的。
            Maven真正所做的工作其實和ant差不多,也是編譯代碼、單元測試、生成文檔等等,那到底這兩個工具間有什么異同呢?
            我想真正的差別還是體現在了思想上,在Maven的介紹頁中(http://maven.apache.org/what-is-maven.html)提到Maven最初是在構建處理Jakarta Turbine項目的時候,發現這個項目的幾個工程的ant構建腳本只有很細微的差別,于是Maven的作者想將構建工程標準化,對構建過程提供了一個指導性的思想,將項目構建生命周期具體化,(http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)由此我想,為什么Maven的名稱定義為Maven,可以認為Maven在思想上提供了專家級的意見的原因吧。
    項目的構建生命周期被具體化后,首先是減少了對構建腳本的維護,讓多個項目構建生命周期進行重用(也沒啥重用的,反正用Maven生命周期都一樣),讓開發人員都使用這一套規范。
            當然,很多人是不吃這一套的,Maven強制開發人員接受自己定義構建標準除了讓人感覺不自由、不靈活外,且擔心Maven處理構建生命周期時,內部產生未知問題。還有一些小型項目,根本不需要如此完善的構建生命周期,使用Maven提供的構建生命周期,只是帶來了不必要的復雜性。
            所以Maven也不是萬金油,仍然需要根據項目的實際情況進行選擇,對于涉及人員較多的大型項目,且在軟件生命周期上與Maven的標準保持一致的情況下,就可以選擇使用Maven。而對于靈活性要求較高、或者一次性的項目,使用Ant足矣。
    posted on 2007-04-29 06:57 SoulEngineer 閱讀(1311) 評論(2)  編輯  收藏

    FeedBack:
    # re: 思考Maven - 專家級工具1 2007-04-29 08:48 xyz20003
    我倒覺得maven2更適合小項目,因為大項目的分模塊構建,maven2并沒有提供很良好的支持,也許是我用的還不熟練,感覺只要模塊間的邏輯復雜起來,maven就顯得捉襟見肘了。迫不得已再使用ant或者其他工具進行調整。

    我現在無法放棄maven2轉回ant的原因有三個:

    一。是repository的管理,用了maven2就不用每次再去找依賴jar包了,而且repository每個項目都可以共用。發布的src包也比以前小了很多。

    二。是site以及report,設置好report plugin就可以得到checkstyle,pmd,cpd,findbugs,cobertura,taglist的報表,實在是比ant中的配置簡潔了百倍啊。

    三。jetty,雖然只是一個插件,但是因為太好用了,所以單獨提出來。想要演示效果的時候,使用嵌入數據庫hsqldb,再用上mvn clean jetty:run。怎么都感覺比使用tomcat方便,selenium也支持使用jetty進行集成測試,唉,可惜我還不太會用,每次都要開兩個工程。

      回復  更多評論
      
    # re: 思考Maven - 專家級工具1 2007-04-29 09:54 GHawk
    Maven2 的profile filter功能相當好用,每個開發者可以使用自己的profile,而且很容易就可以實現不同的配置策略(debug, production)  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲制服丝袜中文字幕| 日韩免费a级在线观看| 亚洲色欲色欲www在线丝 | 91亚洲自偷在线观看国产馆| 丝瓜app免费下载网址进入ios | 成人黄网站片免费视频 | 女人张腿给男人桶视频免费版| 亚洲午夜精品一区二区 | 亚洲爆乳无码精品AAA片蜜桃| 国产成人免费高清激情明星| 久久丫精品国产亚洲av| 国产成人精品日本亚洲语音| 成人免费视频小说| 亚洲AV无码专区在线电影成人| APP在线免费观看视频| 亚洲国产精品无码专区影院| 亚洲一区免费观看| 亚洲中文字幕无码中文字在线 | 亚洲成aⅴ人片在线观| 国产高潮久久免费观看| 亚洲欭美日韩颜射在线二| a级毛片免费全部播放无码| 日韩亚洲AV无码一区二区不卡| 在线观看免费中文视频| 亚洲三级中文字幕| 又爽又黄无遮挡高清免费视频| 72pao国产成视频永久免费| 久久亚洲AV午夜福利精品一区| 四虎在线成人免费网站| 亚洲av无码成人精品国产 | **毛片免费观看久久精品| 亚洲熟妇av午夜无码不卡| 亚洲国产综合人成综合网站| 亚洲一级免费视频| 四虎永久精品免费观看| 亚洲一区二区三区四区视频 | 久久久精品午夜免费不卡| 久久精品国产亚洲AV蜜臀色欲 | 免费观看四虎精品国产永久| 国产精品一区二区三区免费| 亚洲成AV人综合在线观看 |