星期五, 1月 25, 2008

Java 專案環境設定 -- maven 篇 (簡介)

maven 是一個比較新近的java 專案開發工具,能夠簡化開發人員設置專案開發環境的程序與步驟,快速的進入專案的開發階段。透過Convention over Configuration 的概念以及設定檔的繼承機制,maven能夠讓團隊中所進行的各個開發專案有相同的檔案結構,同時也讓個別專案所需要進行的設定減到最低。

檔案結構

maven 預設的檔案結構如下



/src
/main
/java
/resources
/configuration
/webapp
/test
/java
/resources
/configuration
/target


以 main子目錄下放置專案的production code,test下則放置專案的testing code以及configuration,專案建置(build)的結果與過程中的中間產物則會產生在target子目錄之下。/src/main/webapp則是進行網頁專案開發時的特別目錄,放置如web.xml等等的網頁相關資訊。



專案設定檔


maven的設定檔(如同ant的 build.xml)稱作pom.xml(project object model),設定了如建置環境(java 版本,application server),相依性(使用到的其他library及版本)。



設定檔的設定方式都是定義式的,如在相依性的設定中,僅需定義使用的library的名稱與版本,在建置過程中,maven會依據所設定的相依性,由repository中取得所需要的函式。定義式的設定檔另外一個好處就是與系統維持最低的相依性,同樣的設定檔,不過是在 *nix或是Windows系統下,都能夠正常的使用。



專案設定檔的繼承


專案設定檔間的繼承提供了一個能夠設定團隊中跨專案的共通性設定的地方。在一般的團隊中有許多跨專案的共通規範,如coding convention, coding style, test rule等等,團隊能夠建立一個團隊的pom設定檔,而個別的專案,只需要繼承這個團隊設定檔即可擁有相同的設定,不需要在個別的專案設定檔中重複的進行這些共通的設定。

沒有留言: