Maven 聚合專案建立
阿新 • • 發佈:2018-11-03
第一步:建立父工程
右擊空白處,new 建立新的 maven 工程
這裡跳過預設的骨架,使用自動義的骨架
這裡父工程必須使用pom打包方式
第二步:建立子工程
右擊空白處,new建立新maven工程
跳過預設骨架,輸入子工程名,並引用父工程
定義子工程,這裡是以表現層為例,是web工程,所以打包方式為war,如果是其他非web工程就可以打包成jar,這一點需要注意。
其他工程步驟類似,需要注意的是打包方式的選擇。
工程建立完成後現象:
所有的子工程目錄不是單獨的存在,而是直接儲存在父工程目錄下。
web專案建立完後,會有如下錯誤:
解決方案:
如果WebContent/WEB-INF/web.xml檔案存在,需要在pom.xml檔案的<build>節點中,加上maven-war-plugin外掛配置。
1 <plugins> 2 <plugin> 3 <groupId>org.apache.maven.plugins</groupId> 4 <artifactId>maven-war-plugin</artifactId> 5<version>3.0.0</version> 6 <configuration> 7 <webResources> 8 <resource> 9 <directory>WebContent</directory> 10 </resource> 11 </webResources> 12 </configuration> 13</plugin> 14 </plugins>
如果WebContent/WEB-INF/web.xml檔案不存在,則按下面的方式配置。
1 <plugins> 2 <plugin> 3 <groupId>org.apache.maven.plugins</groupId> 4 <artifactId>maven-war-plugin</artifactId> 5 <version>3.0.0</version> 6 <configuration> 7 <failOnMissingWebXml>false</failOnMissingWebXml> 8 </configuration> 9 </plugin> 10 </plugins>
web工程完整的pom.xml如下:
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 <parent> 5 <groupId>com.maven.manage</groupId> 6 <artifactId>maven-manage</artifactId> 7 <version>0.0.1-SNAPSHOT</version> 8 </parent> 9 <artifactId>maven-manage-web</artifactId> 10 <packaging>war</packaging> 11 12 <build> 13 <plugins> 14 <plugin> 15 <groupId>org.apache.maven.plugins</groupId> 16 <artifactId>maven-war-plugin</artifactId> 17 <version>3.0.0</version> 18 <configuration> 19 <failOnMissingWebXml>false</failOnMissingWebXml> 20 </configuration> 21 </plugin> 22 </plugins> 23 </build> 24 25 </project>
聚合工程的完整目錄
父工程pom.xml內容
硬碟中聚合工程儲存目錄結構: