一、 創建工程
1. 創建 App 工程
mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=app
2. 創建 webApp 工程
D:\>mvn archetype:create -DgroupId=ce.demo.mvn
-DartifactId=webapp -DarchetypeArtifactId=maven-archetype-webapp
二、關鍵字
Project:任何您想build的事物,Maven都可以認為它們是工程。這些工程被定義為工程對象模型(POM,Poject Object
Model)。一個工程可以依賴其它的工程;一個工程也可以由多個子工程構成。
POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元數據文件,類似于Ant中的build.xml文件。POM文件位于每個工程的根目錄中。
GroupId:groupId是一個工程的在全局中唯一的標識符,一般地,它就是工程名。groupId有利于使用一個完全的包名,將一個工程從其它有類似名稱的工程里區別出來。
Artifact:artifact是工程將要產生或需要使用的文件,它可以是jar文件,源文件,二進制文件,war文件,甚至是pom文件。每個artifact都由groupId和artifactId組合的標識符唯一識別。需要被使用(依賴)的artifact都要放在倉庫(見Repository)中,否則Maven無法找到(識別)它們。
Dependency:為了能夠build或運行,一個典型的Java工程會依賴其它的包。在Maven中,這些被依賴的包就被稱為dependency。dependency一般是其它工程的artifact。
Plug-in:Maven是由插件組織的,它的每一個功能都是由插件提供的。插件提供goal(類似于Ant中的target),并根據在POM中找到的元數據去完成工作。主要的Maven插件要是由Java寫成的,但它也支持用Beanshell或Ant腳本寫成的插件。
Repository:倉庫用于存放artifact,它可以是本地倉庫,也可以是遠程倉庫。Maven有一個默認的遠程倉庫--central,可以從http://www.ibiblio.org/maven/下載其中的artifact。在Windows平臺上,本地倉庫的默認地址是User_Home".m2"repository。
Snapshot:工程中可以(也應該)有一個特殊版本,它的版本號包括SNAPSHOT字樣。該版本可以告訴Maven,該工程正處于開發階段,會經常更新(但還未發布)。當其它工程使用此類型版本的artifact時,Maven會在倉庫中尋找該artifact的最新版本,并自動下載、使用該最新版。
三、常用命令
1.
mvn clean –
消除工程(包括所有子工程)中產生的所有輸出。這本文的實例中,實際上是刪除target目錄。由于之前的操作只有app工程產生了target目錄,而webapp并沒有,所以將只會刪除app工程中的target目錄。
2.
mvn package –
將工程制作成相應的包,app工程是作成jar包(app-1.0.jar),webapp工程是作成war包(webapp-1.0.war)。打開webapp-1.0.war包,可以發現app-1.0.jar被放到了WEB-INF的lib目錄中。
3.創建Maven項目:
mvn archetype:create
4.編譯源代碼:
mvn compile
5.編譯測試代碼:
mvn test-compile
6.運行測試:
mvn test
7.產生site:
mvn site
8.打包:
mvn package
9.在本地Repository中安裝jar:
mvn install
10.
mvn eclipse:eclipse :生成 Eclipse 項目文件