道非道 非常道

          勤思、謹(jǐn)言、慎行、厚積、薄發(fā)

          統(tǒng)計(jì)

          web

          天圓

          經(jīng)濟(jì) 政治 軍事

          鍵康

          [入門] maven的簡(jiǎn)單教程 (二) 常用命令、創(chuàng)建工程

          一、 創(chuàng)建工程
              1. 創(chuàng)建 App 工程
          mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=app
              2. 創(chuàng)建 webApp 工程
                 D:\>mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=webapp          -DarchetypeArtifactId=maven-archetype-webapp

          二、關(guān)鍵字
              Project:任何您想build的事物,Maven都可以認(rèn)為它們是工程。這些工程被定義為工程對(duì)象模型(POM,Poject Object Model)。一個(gè)工程可以依賴其它的工程;一個(gè)工程也可以由多個(gè)子工程構(gòu)成。
              POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元數(shù)據(jù)文件,類似于Ant中的build.xml文件。POM文件位于每個(gè)工程的根目錄中。
              GroupId:groupId是一個(gè)工程的在全局中唯一的標(biāo)識(shí)符,一般地,它就是工程名。groupId有利于使用一個(gè)完全的包名,將一個(gè)工程從其它有類似名稱的工程里區(qū)別出來。
              Artifact:artifact是工程將要產(chǎn)生或需要使用的文件,它可以是jar文件,源文件,二進(jìn)制文件,war文件,甚至是pom文件。每個(gè)artifact都由groupId和artifactId組合的標(biāo)識(shí)符唯一識(shí)別。需要被使用(依賴)的artifact都要放在倉庫(見Repository)中,否則Maven無法找到(識(shí)別)它們。
              Dependency:為了能夠build或運(yùn)行,一個(gè)典型的Java工程會(huì)依賴其它的包。在Maven中,這些被依賴的包就被稱為dependency。dependency一般是其它工程的artifact。
              Plug-in:Maven是由插件組織的,它的每一個(gè)功能都是由插件提供的。插件提供goal(類似于Ant中的target),并根據(jù)在POM中找到的元數(shù)據(jù)去完成工作。主要的Maven插件要是由Java寫成的,但它也支持用Beanshell或Ant腳本寫成的插件。
              Repository:倉庫用于存放artifact,它可以是本地倉庫,也可以是遠(yuǎn)程倉庫。Maven有一個(gè)默認(rèn)的遠(yuǎn)程倉庫--central,可以從http://www.ibiblio.org/maven/下載其中的artifact。在Windows平臺(tái)上,本地倉庫的默認(rèn)地址是User_Home".m2"repository。
              Snapshot:工程中可以(也應(yīng)該)有一個(gè)特殊版本,它的版本號(hào)包括SNAPSHOT字樣。該版本可以告訴Maven,該工程正處于開發(fā)階段,會(huì)經(jīng)常更新(但還未發(fā)布)。當(dāng)其它工程使用此類型版本的artifact時(shí),Maven會(huì)在倉庫中尋找該artifact的最新版本,并自動(dòng)下載、使用該最新版。


          三、常用命令
             1.mvn clean – 消除工程(包括所有子工程)中產(chǎn)生的所有輸出。這本文的實(shí)例中,實(shí)際上是刪除target目錄。由于之前的操作只有app工程產(chǎn)生了target目錄,而webapp并沒有,所以將只會(huì)刪除app工程中的target目錄。
             2.mvn package – 將工程制作成相應(yīng)的包,app工程是作成jar包(app-1.0.jar),webapp工程是作成war包(webapp-1.0.war)。打開webapp-1.0.war包,可以發(fā)現(xiàn)app-1.0.jar被放到了WEB-INF的lib目錄中。
             3.創(chuàng)建Maven項(xiàng)目:mvn archetype:create
             4.編譯源代碼:mvn compile
             5.編譯測(cè)試代碼:mvn test-compile
             6.運(yùn)行測(cè)試:mvn test
             7.產(chǎn)生site:mvn site
             8.打包:mvn package
             9.在本地Repository中安裝jar:mvn install
             10. mvn eclipse:eclipse :生成 Eclipse 項(xiàng)目文件

             



























          posted on 2010-07-21 15:08 星期五 閱讀(810) 評(píng)論(0)  編輯  收藏 所屬分類: 項(xiàng)目工具

          主站蜘蛛池模板: 宁波市| 仁化县| 衡东县| 霍林郭勒市| 京山县| 建水县| 密云县| 临潭县| 东乌| 宁国市| 水城县| 玛曲县| 平昌县| 安丘市| 敖汉旗| 沙洋县| 灵石县| 元江| 河池市| 平凉市| 兴业县| 舒城县| 元氏县| 临朐县| 海原县| 金溪县| 南华县| 衡水市| 孟州市| 安康市| 四子王旗| 莫力| 嘉兴市| 鱼台县| 徐水县| 宿迁市| 沛县| 嘉荫县| 蓝田县| 普兰县| 城口县|