Maven 學習筆記一

衣舞晨風發表於2016-11-27

Maven是一個專案管理工具,包含專案物件模型、標準集合、專案生命週期、依賴管理系統

1、POM

Project Object Model,在MAVEN1中叫做project.xml,到maven2後改為pom.xml。該檔案用於管理:原始碼、配置檔案、開發者的資訊和角色、問題追蹤系統、組織資訊、專案授權、專案的url、專案的依賴關係等等。一個maven專案可以沒有任何原始碼,但必須包含pom檔案。
packaging : 打包的格式,可以為:pom , jar , maven-plugin , ejb , war , ear , rar , par

2、groupId和artifactId

groupid和artifactId被統稱為“座標”是為了保證專案唯一性而提出的,如果你要把你專案弄到maven本地倉庫去,你想要找到你的專案就必須根據這兩個id去查詢。

groupId一般分為多個段,這裡我只說兩段,第一段為域,第二段為公司名稱。域又分為org、com、cn等等許多,其中org為非營利組織,com為商業組織。舉個apache公司的tomcat專案例子:這個專案的groupId是org.apache,它的域是org(因為tomcat是非營利專案),公司名稱是apache,artigactId是tomcat。

比如我建立一個專案,我一般會將groupId設定為cn.jk,cn表示域為中國,jk是我個人姓名縮寫,artifactId設定為testProj,表示你這個專案的名稱是testProj,依照這個設定,你的包結構最好是cn.jk.testProj打頭的,如果有個StudentDao,它的全路徑就是cn.jk.testProj.dao.StudentDao

3、管理依賴

在 pom 中指明 dependency management 元素的方式 maven 結合專案繼承來管理依賴。在多模組應用中,可能多個子專案會有共同的依賴。此時為了正確執行,必須讓所有的子專案使用依賴項的同一版本。必須確保應用的各個專案的依賴項和版本一致,才能保證測試的和釋出的是相同的成果。因此,應在頂層的 pom 中定義共同的依賴關係。

4、profile簡介

profile可以讓我們定義一系列的配置資訊,然後指定其啟用條件。
這樣我們就可以定義多個profile,然後每個profile對應不同的啟用條件和配置資訊,從而達到不同環境使用不同配置資訊的效果。

比如說,我們可以通過profile定義在jdk1.5以上使用一套配置資訊,在jdk1.5以下使用另外一套配置資訊;或者有時候我們可以通過作業系統的不同來使用不同的配置資訊,比如windows下是一套資訊,linux下又是另外一套資訊,等等。具體的啟用條件有哪些我在後文會講到。

5、profile的定義位置

對於使用Maven3,我們可以有多個地方定義profile。定義的地方不同,它的作用範圍也不同。
(1) 針對於特定專案的profile配置我們可以定義在該專案的pom.xml中。
(2) 針對於特定使用者的profile配置,我們可以在使用者的settings.xml檔案中定義profile。該檔案在使用者家目錄下的“.m2”目錄下。
(3) 全域性的profile配置。全域性的profile是定義在Maven安裝目錄下的“conf/settings.xml”檔案中的。

作者:jiankunking 出處:http://blog.csdn.net/jiankunking

相關文章