心內(nèi)求法

          制心一境,住心觀性,澄心外照,攝心內(nèi)證

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 120 評論 :: 0 Trackbacks

          現(xiàn)在maven似乎很火,但網(wǎng)上的中文資料大部分都是maven1的,對maven2的入門介紹比較少。

          本文演示maven2的安裝,配置和初步體驗,不涉及深入的原理。

          本文內(nèi)容主要參考

          http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

          1.安裝

          下載Maven.目前的版本是2.0.4

          http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-2.0.4-bin.zip

          解壓縮后,設(shè)置環(huán)境變量M2_HOME到maven目錄;在環(huán)境變量path中增加maven的bin目錄。

          在命令行輸入

          Mvn -version

          顯示

          Maven version: 2.0.4

          則安裝成功。

          2. 網(wǎng)絡(luò)設(shè)置

          maven運行時需要網(wǎng)絡(luò)環(huán)境。如果你的網(wǎng)絡(luò)需要代理,則要在maven目錄的conf/settings.xml中設(shè)置。

          找到<proxies>節(jié)點,按照例子,根據(jù)自己實際環(huán)境設(shè)置。

          3.體驗maven

          在命令行中,進(jìn)入你常用的項目文件夾,輸入

          mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

          如果網(wǎng)絡(luò)配置正確,maven就會下載需要的文件,執(zhí)行任務(wù),最終顯示“BUILD SUCCESSFUL”,并生成my-app目錄。

          讓我們看一下mvn對項目目錄的組織:

          My-app

          ├─pom.xml

          └─src

          ├─main

          │ └─java

          │ └─com

          │ └─mycompany

          │ └─app

          │ └─App.java

          └─test

          └─java

          └─com

          └─mycompany

          └─app

          └─AppTest.java

          可以看出,代碼和測試代碼分別放在main及test文件夾下。

          Pom.xml描述項目對象模型(Project Object Model)。其模式文件為http://maven.apache.org/xsd/maven-4.0.0.xsd

          詳細(xì)的POM說明請參考相關(guān)資料。

          4.maven命令

          在命令行下輸入mvn -h , 顯示mvn幫助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的構(gòu)成。

          Options:可選的參數(shù)。比如前面提到的-version , -h等。

          Goal(s): 表示maven構(gòu)建的“目標(biāo)”。比如前面的

          mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

          其中archetype:create表示archetype插件下的create目標(biāo)。這里,插件是為了某種目的構(gòu)建的目標(biāo)的集合,maven通過插件擴(kuò)展其功能。

          還可以為目標(biāo)傳遞一些參數(shù),比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。

          Phase(s):階段。表示maven構(gòu)建生命周期 中的一個步驟。使用相位命令時,maven會執(zhí)行生命周期中該階段之前的所有命令,使項目處于指定的“狀態(tài)”。

          比如在剛才創(chuàng)建的項目路徑下輸入mvn compile,會創(chuàng)建target文件夾,并編譯class,使項目處于“已編譯”狀態(tài)。

          • maven定義的生命周期中主要的相位如下:
          • validate: 驗證項目是否正確以及相關(guān)信息是否可用。
          • compile: 編譯。
          • test: 通過junit進(jìn)行單元測試。
          • package: 根據(jù)事先指定的格式(比如jar),進(jìn)行打包。
          • integration-test: 部署到運行環(huán)境中,準(zhǔn)備進(jìn)行集成測試。
          • verify: 對包進(jìn)行有效性性和質(zhì)量檢查。
          • install: 安裝到本地代碼庫。
          • deploy: 在集成或發(fā)布環(huán)境,將包發(fā)布到遠(yuǎn)程代碼庫。

          在“默認(rèn)”的生命周期之外,還有兩個“階段”:

          • clean: 清除以前的構(gòu)建物。
          • site: 生成項目文檔。

          階段實際上是通過目標(biāo)的組合實現(xiàn)的。

          5.組合命令

          可以通過對目標(biāo)及相位的組合使得一個命令完成多個功能,比如:

          mvn clean dependency:copy-dependencies package

          相當(dāng)于按順序執(zhí)行

          mvn clean

          mvn dependency:copy-dependencies

          mvn package

          到這里,對maven應(yīng)該有一個初步的印象并能上手使用了吧?更多的內(nèi)容可以查閱相關(guān)的文檔。



          本人的最新博客遷移到http://thinkinside.tk,使用GitHub Pages建立。
          我會陸續(xù)將所寫的文章遷移過去,并進(jìn)行補充和修正,
          歡迎過來圍觀。
          posted on 2006-12-02 11:53 心內(nèi)求法 閱讀(24789) 評論(13)  編輯  收藏 所屬分類: 4.攝心內(nèi)證

          評論

          # re: Maven2快速入門教程 2006-12-02 16:17 weidagang2046
          比較關(guān)心Maven能不能方便地與eclipse集成?  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2006-12-02 18:18 duguo
          @weidagang2046

          有兩種整合方式,一種是通過mvn eclipse:eclipse生成eclipse的配置文件,另外一種是ide的插件,http://m2eclipse.codehaus.org/,幾個月前用這個插件,不是太好用,不知道現(xiàn)在怎么樣了  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2006-12-02 21:30 心內(nèi)求法
          maven官方網(wǎng)站推薦的eclipse插件為m2eclipse,但是目前的版本是0.0.9,功能還比較弱,只能生成pom.xml,增加引用。真正實用的版本看來還要等一段時間了。  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2006-12-03 01:38 商業(yè)計劃書
          很少見討論maven的,頂一個  回復(fù)  更多評論
            

          # re: Maven2快速入門教程[未登錄] 2007-06-29 11:47 evan
          對入門的人理清概念很有幫助,謝謝  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2007-10-24 11:03 信鴿
          學(xué)習(xí)了。  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2007-10-24 20:13 信鴿
          不錯.  回復(fù)  更多評論
            

          # re: Maven2快速入門教程[未登錄] 2008-01-14 14:01 aaa
          垃圾 不夠詳細(xì)  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2008-02-29 21:14 linhi
          我們組現(xiàn)在正在用maven的eclipse插件來作項目管理。感覺還是不錯的,只是我還不懂怎么弄,也在學(xué)習(xí)中。。。  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2008-04-08 15:17 zb
          正要用Maven2。雖然沒看懂,還是頂一個。  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2008-05-05 10:33 ...
          公司要用這個東西..目前我還沒摸清方向!!!!!!!!!  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2009-11-18 10:34 水zhoale
          KJ看的我睡著了阿  回復(fù)  更多評論
            

          # re: Maven2快速入門教程 2010-12-24 11:30 cmmjava
          @weidagang2046

          maven 能與eclipse結(jié)合使用
          http://www.360doc.com/content/10/0901/11/87000_50342123.shtml#  回復(fù)  更多評論
            


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


          網(wǎng)站導(dǎo)航:
           
          我常用的博客搜索
          主站蜘蛛池模板: 偃师市| 澄江县| 江都市| 招远市| 灵寿县| 陆良县| 云霄县| 政和县| 卢氏县| 营口市| 绩溪县| 建平县| 克什克腾旗| 武宁县| 顺昌县| 囊谦县| 贵州省| 绍兴市| 中超| 枝江市| 四子王旗| 武定县| 伊金霍洛旗| 历史| 宁国市| 昌吉市| 绥芬河市| 庆城县| 兴城市| 项城市| 泸州市| 通道| 科技| 定远县| 句容市| 吉林省| 阿尔山市| 涞水县| 巴林右旗| 桃园县| 重庆市|