程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Maven2學習入門教程及實例

Maven2學習入門教程及實例

編輯:關於JAVA

1 關鍵名詞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的最新版本,並自動下載、使用該最新版。

2 Maven Build Life Cycle軟件項目一般都有相似的開發過程:准備,編譯,測試,打包和部署,Maven將上述過程稱為Build Life Cycle.在Maven中,這些生命周期由一系列的短語組成,每個短語對應著一個(或多個)操作;或對應著一個(或多個)goal(類似於Ant中的 target)。

如編譯源文件的命令mvn compile中的compile是一個生命周期短語。同時該命令也可以等價於mvn compiler:compile,其中的compiler是一個插件,它提供了compile(此compile與mvn compile中的compile意義不同)goal;compiler還可提供另一個goal——testCompile,該goal用於編譯junit測試類。

在執行某一個生命周期時,Maven會首先執行該生命周期之前的其它周期。如要執行compile,那麼將首先執行validate,generate- source,process-source和generate-resources,最後再執行compile本身。關於Maven中默認的生命周期短語,請見參考資源中的附錄B.3.

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved