閑人野居
          好好學習,天天向上
          posts - 57,  comments - 137,  trackbacks - 0
          ??? 相信maven1 大家都已經很熟悉了,具體maven能做什么,就不詳細說了。個人覺得maven在開源項目中用的還是比較多的,公司內部,就不太清楚了。我以前的公司用過一段時間,不過后來就沒有下文了。
          ??? 與maven1 相比,maven2可算是幾乎重寫了,不過從速度來說應該更快。
          ??? 主要的幾個新特性包括:(詳細參考http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html)
          ??? 1. 更快、更簡單
          ?? ???? 速度方面可以比上ant了
          ??? 2. 更少的配置文件
          ??? ??? 現在的配置文件只剩下了settings.xml和pom.xml了。
          ??? 3.? Plugin語言更換
          ?? ?? ? 語言開始支持java,BeanShell和ant
          ??? 4.? 提供了預定義的模版
          ??? ??? 這點是最有幫助的,用戶可以自己定義自己的項目模版了,就像用appfuse一樣生成項目結構
          ??? 5. 生命周期的引入
          ???? ??? 在Maven2中有了明確的生命周期概念,而且都提供與之對應的命令,使得項目構建更加清晰明了。
          ??? 6.? 新增Dependency Scope?? ?
          ???? ??? 這點也比較重要,有些用于test范圍的包,可以不用加入依賴了
          ??? 7.? 傳遞依賴,簡化依賴管理
          ??? ??? 這是最為方便的,可以省了很多配置。如a 依賴 b,b 依賴c? 默認 a也會依賴 c。但是也會帶來隱患,如版本沖突。不過maven 也已經考慮到了,可以使用exclusions來排除相應的重復依賴

          介紹了那么多,現在切入正題,開始maven2 之旅:
          首些下載需要的工具:
          maven2: http://maven.apache.org/download.html 最主要的
          maven-proxy:用來代理repository,使用本地庫代替maven2的遠程庫
          ??? ??? ??? http://maven-proxy.codehaus.org/
          continuum:一個不錯的持續整合工具,用于自動build。支持ant,maven
          http://maven.apache.org/continuum/
          svn:版本控制工具相信都已經配置了。
          maven 用于eclipse的插件 ,在maven主站有下載,不錯的插件。當然idea也有相應的插件
          最后,http,服務器是必不可少的。用于內部開發使用。
          可以使用apache ,或者jetty? http://www.mortbay.org/

          安裝:
          ??? 安裝maven2很簡單,把下載來的maven包解開就行了。(目前我的配置都在win2003上,還沒有應用于linux,所有所有的配置都針對windows).增加相應的環境變量m2_home=maven2的安裝目錄,不要忘了設置java_home的目錄。另外在path中增加%m2_home%\bin;可以直接在命令行下面使用mvn。
          其他工具的安裝在后續的文章會介紹。

          開始第一個mvean2項目:
          ? mvn archetype:create -DgroupId=com.mycompany.app \
          ??? ??? ??? ?????? -DartifactId=my-app
          ? 簡單介紹一下 groupId相當于你的組織,如同org.springframework,會轉化為相應得本地路徑 artifactId,你主要的jar包名稱,也就是你要打成的jar 名稱。
          編譯應用資源
          ??? mvn complile
          ??????? 編譯相應的jave 文件
          編譯測試類以及運行測試類
          ??? mvn test
          ?????? 運行測試類
          如果只想編譯test,執行
          ??? mvn test-compile
          打包和安裝你的本地庫
          打包:
          ??? mvn package
          安裝:
          ??? mvn install
          創建web site
          ??? mvn site
          清除所有輸出
          ??? mvn clean
          創建相關的ide文件
          ??? mvn idea:idea??? ??? 或者??? mvn eclipse:eclipse

          ??? 順便說一下,maven2 是有生命周期這一概念的,也就是說如果你執行package,相應的以前步驟,如compile,test等都會自動執行。
          剛開始執行會比較慢,需要從maven2遠程庫中下載所有的文件到本地。如果你的本地沒有相應的依賴包,則每次maven都會去遠程下載,所以配置一個鏡像庫就比較重要了。
          ??? 另外介紹一下主要的參考資料:
          ??? mavn2 主站:主要的pom和settings.xml參考資料
          ???
          Better Builds with Maven ??? http://www.mergere.com/m2book_download.jsp
          ??? 不錯的書,主要通過例子介紹。可惜都是E文的,花點時間還是值得的。
          ??? 下一個主題,會說一下maven2的主要配置。


          posted on 2006-12-02 10:46 布衣郎 閱讀(2134) 評論(0)  編輯  收藏 所屬分類: 配置管理

          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(12)

          隨筆分類(59)

          隨筆檔案(57)

          blog

          java

          uml

          搜索

          •  

          積分與排名

          • 積分 - 357329
          • 排名 - 155

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 浏阳市| 称多县| 康平县| 石河子市| 高邮市| 高雄市| 千阳县| 浦县| 定西市| 苍溪县| 遂平县| 蒙阴县| 灌云县| 塔河县| 沙雅县| 罗江县| 崇明县| 玉屏| 阿坝县| 如东县| 成都市| 许昌市| 谢通门县| 五河县| 民县| 德江县| 古浪县| 贵溪市| 大邑县| 景宁| 延边| 陵川县| 航空| 南京市| 林州市| 微山县| 金门县| 东台市| 宣化县| 元朗区| 宾川县|