[入門] 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)目工具