Java Web 專案目錄規範
大型專案應劃分多個工程(project,模組),每個工程的目錄結構也同樣遵從相同約定。
各目錄的內容/用途如下:
目錄 |
用途 |
src/main/java |
Application /Library 的java原始碼(再分package) |
src/main/flex |
增加:flex原始碼,包含mxml定義、assets和as指令碼 |
src/main/resources |
Application/Library 的資原始檔,如多字符集boundle,點陣圖,配置檔案等(單獨建立conf等子目錄) |
src/main/resources/conf |
增加:準備封到JAR包中的配置檔案(預設包下conf/目錄) |
src/main/filters |
【暫不用】Resource filter files |
src/main/assembly |
【暫不用】Assembly descriptors |
src/main/config |
【暫不用】maven配置檔案 |
src/main/webapps |
Web 應用的網頁,WEB-INF目錄等所在,詳見本表下方說明 |
|
|
src/test/java |
單元測試的原始碼 |
src/test/resources |
測試使用的資原始檔,如整合測試指令碼等 |
src/test/resources/conf |
增加:測試用例需要的配置檔案 |
src/test/filters |
【暫不用】Test resource filter files |
src/site |
【暫不用】Site |
|
|
target |
maven編譯目錄,包含中間過程檔案和最終的工件(如jar) |
|
|
pom.xml |
Maven工程的配置檔案,以此控制maven構建行為 |
LICENSE.txt |
產品/本工程的版權資訊檔案 |
README.txt |
產品/本工程的說明檔案 |
為規範war包結構,對src\main\webapp目錄做如下約定:
目錄 |
存放內容 |
css |
存放.css格式檔案(可再分目錄) |
skins |
存放面板檔案(按主題劃分的framework的點陣圖) |
images |
存放圖片,按產品、功能模組劃分子目錄 |
js |
JavaScript檔案(物件、函式庫) |
include |
存放被包含的JS檔案片段【注:JSP檔案互相不要包含,通過模板/元件/標籤庫/BEAN實現重用】 |
resources |
存放JSF元件、相關資源等 |
templates |
模板檔案存放地,按類別劃分子目錄 |
pages |
網頁目錄(靜態和動態網頁,除index.jsp),按產品、功能模組劃分子目錄 |
webapp下其他目錄 |
解釋為模組名,認為其中全部為網頁,可再分子目錄 |
META-INF |
存放清單檔案、services等配置資訊 |
WEB-INF |
網站配置檔案目錄,存放WEB.XML等配置資訊 |
WEB-INF/classes |
未打包的專案編譯程式碼,禁止手工修改。 |
WEB-INF/conf |
存放struts,spring,hibernate,JSF等的配置檔案 |
WEB-INF/lib |
存放第三方JAR包,使用MAVEN構建時此目錄禁止手動放入檔案! |
WEB-INF/pages |
高安全性的網頁目錄,如登入資訊維護等 |
WEB-INF/tld |
JSP標籤庫定義檔案存放目錄 |