其實我是使用Maven和Spring的新手,我很好奇我們如何標準化項目結構。我們知道,如果我們首次創建Maven項目只給出了這樣的結構:Maven + Spring項目結構標準
project
- pom.xml
- src/
- main/
- java/
- test/
的的java目錄是爲我們上演了Java代碼,我理解這一點。但是,當我們製作一個應該具有HTML,CSS或Javascript等Web文件的Web應用程序時,我們需要另一個目錄來放置它。
當我在Maven中使用Spring或Spring Boot時,它創建了資源目錄下還有主要目錄。所以結構現在看起來是這樣:
project
- pom.xml
- src/
- main/
- java/
- resources/
- test/
在其他一些行家web項目的例子,我發現不同的結構,它有的webapp目錄下主要也。並在webapp內部有WEB-INF和META-INF目錄。他們把網頁文件(HTML,CSS等)放在那裏。項目結構爲:
project
- pom.xml
- src/
- main/
- java/
- resources/
- webapp/
- WEB-INF/
- META-INF/
- pages/ *contains html pages
- static/ * contains css and javascript files for styling
- test/
這就是我所困惑的。我對此有一些疑問。
- 我們怎麼知道它是最好的結構呢?老實說,Maven和Spring應用程序的最佳結構是什麼?
- 如果結構與我給出的第三個示例類似,那麼在調用資產文件時,我們如何在應用程序中使用它?
- 當我們構建一些web應用程序時,真的需要WEB-INF和META-INF目錄嗎?
如果有人能給我一個清晰的解釋,我會很感激。謝謝。
換句話說,你的意思是它取決於包裝類型?如果它是'WAR'或'JAR',它會自動確定項目結構? –
例如,如果我使用thymeleaf,所以我不再需要WEB-INF了,對吧?我只是把** template **放在** resource **目錄下。如果我錯了,請糾正我。 –
我在這裏發現了一些新東西。我使用thymeleaf創建了maven + spring引導應用程序,作爲模板引擎和WAR進行打包,但它不創建任何'webapp'目錄。我想這是因爲'thymeleaf'。我對麼? –