在新建項目中遇到的問題,由於是多模塊項目,父模塊下的web子模塊添加了
<packaging>pom</packaging>
而這這個標簽是用來指示idea將該模塊打包成pom,所以,項目在啟動編譯時沒有把配置文件同步到target目錄下,項目運行時也拿不到配置文件的信息。
父模塊通過一下標簽管理與子模塊的關系
<packaging>pom</packaging> <modules> <module>simple-weather</module> <module>simple-webapp</module> </modules>
子模塊用一下標簽管理與父模塊的關系
<parent>
<groupId>org.sonatype.mavenbook.ch06</groupId>
<artifactId>simple-parent</artifactId>
<version>1.0</version>
</parent>
當Maven 執行一個帶有子模塊的項目的時候,Maven 首先載入父POM,然后定位所有的子模塊POM。Maven 然后將所有這些項目的POM 放入到一個稱為Maven 反應堆(Reactor)的東西中,由它負責分析模塊之間的依賴關系。這個反應堆處理組件的排序,以確保相互獨立的模塊能以適當的順序被編譯和安裝。