剛開始接觸maven web項目的時候,相信很多人都會被它的目錄結構迷惑。
為了避免初學者遇到像我一樣的困擾,我就從一個純初學者的視角,來分析一下這個東西。
1,比如說,我們拿一個常見的目錄結構來看,如下。
2.上圖中,為啥又有Java Resources文件夾的代碼,又有src文件夾的代碼呢?那我想改代碼要改哪里。
其實,Java Resources文件夾下面的代碼都是以包的形式展現的,主要是為了開發人員更好的找到修改的代碼文件。
Java Resources文件夾下的代碼和src文件夾下面的代碼其實就是一份。
3.但是src下面還多了一個webapp的文件夾,這是放置前端頁面以及腳本等內容的文件夾。
4.那么整個工程編譯生成之后,這些文件夾的層次關系變成啥樣了呢?在工程視圖中,選中工程名,右鍵選擇屬性,看看對應的配置信息就知道了。
如下圖,可見,webapp這個文件夾生成之后,其實webapp就相當於根目錄了,webapp下面的文件/文件夾其實就是對應根目錄下的文件/文件夾。
而Java Resources文件夾下的代碼(即src/main/java和/src/main/resources),生成之后就跑到了根目錄下的WEB-INF下的classes的路徑下面了。
PS:多啰嗦一個東西,就是我們在一些例如spring的xml配置文件里面,經常可以看到<import resource="classpath:spring-mybatis.xml" />類似的配置。
這里的這個spring-mybatis.xml文件是怎么找到的呢,其實它生成后,不就是在根目錄下的WEB-INF下的classes的路徑下嘛,這個就是classpath啦。