標準目錄布局簡介
具有通用的目錄布局將使熟悉一個Maven項目的用戶立即在另一個Maven項目中感到賓至如歸。優(yōu)點類似于采用整個站點的外觀。
下一節(jié)記錄Maven期望的目錄布局和Maven創(chuàng)建的目錄布局。請嘗試盡可能符合此結構;但是,如果您不能通過項目描述符覆蓋這些設置。
src/main/java | 應用程序/庫資源 |
src/main/resources | 應用/圖書館資源 |
src/main/filters | 資源過濾器文件 |
src/main/webapp | Web應用程序源 |
src/test/java | 測試來源 |
src/test/resources | 測試資源 |
src/test/filters | 測試資源過濾器文件 |
src/it | 集成測試(主要用于插件) |
src/assembly | 程序集描述符 |
src/site | 現(xiàn)場 |
LICENSE.txt | 項目許可證 |
NOTICE.txt | 項目所依賴的圖書館要求的注意事項和出處 |
README.txt | 項目的自述文件 |
在頂層,描述項目的pom.xml文件:文件。此外,還有意味著用戶文本文檔,以便能夠在接收該電源立即讀?。篟EADME.txt,LICENSE.txt,等。
該結構只有兩個子目錄:src和target。唯一的其他將被預期這里目錄是元數(shù)據(jù)喜歡CVS,.git或.svn,和在多構建任何子項目(其中的每一個將被布置為上文)。
該target目錄用于容納構建的所有輸出。
該src目錄包含用于構建項目的所有源材料,其站點等。它包含每種類型的子目錄:main用于主構建工件,test用于單元測試代碼和資源,site等等。
在生成工件的源目錄(即main和test)中,有一種語言目錄java(在該目錄下,存在正常的包層次結構),而有一個目錄(在resources給定默認資源定義的情況下,該結構復制到目標類路徑中)。
如果有其他有助于工件構建的源,它們將位于其他子目錄下:例如,src/main/antlr將包含Antlr語法定義文件。
Maven這個項目管理和構建自動化工具,越來越多的開發(fā)人員使用它來管理項目中的jar 包。但是對于我們程序員來說,我們最關心的是它的項目構建功能。所以這里我們介紹的就是怎樣用 maven來滿足我們項目的日常需要。Maven 使用慣例優(yōu)于配置的原則 。它要求在沒有定制之前,所有的項目都有如下的結構。
Maven 默認約定了一套目錄結構,在通過 Maven 創(chuàng)建了項目以后,項目的目錄結構就是以這套目錄結構作為模板創(chuàng)建的。
目錄 |
目的 |
---|---|
${basedir} |
項目根目錄,存放 pom.xml 和所有子目錄 |
${basedir}/src/main/java |
存放項目的 java 源代碼 |
${basedir}/src/main/resources |
存放項目的資源配置文件 |
${basedir}/src/main/webapp |
如果是 web 項目,存放 web 資源 |
${basedir}/src/test/java |
存放測試類的源代碼 |
${basedir}/src/test/resources |
存放測試需要的資源配置文件 |
${basedir}/target |
存放生成的字節(jié)碼文件及打包生成文件等 |
參考案例:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html