我使用Maven構建多模塊項目;Maven - 在多模塊項目中使用匯編插件創建分發文件
- 其包括9個戰爭模塊
每個模塊具有包含關於如何打包指令自身的POM;
<packaging>war</packaging>
父POM然後負責發起每個模塊上Maven的生命週期和推動到一個工件管理器(的Nexus)
<modules>
<module>module1</module>
<module>module2....
我想用組件插件打包每個WAR文件是由每個模塊早期構建到一個ZIP文件中的。我試圖通過在父POM中定義一個程序集描述符來實現這一點,它爲每個模塊定義了一個單獨的dependencySet(使用groupID,artifactID和版本來查找本地回購中的WAR)。
我試過使用下面的程序集文件來實現這個功能;
<assembly>
<id>war</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>com:test-web:war:${pom.version}</include>
</includes>
<outputFileNameMapping>test-web.war</outputFileNameMapping>
</dependencySet>
</dependencySets>
</assembly>
這是我父母POM中的插件配置;
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.3</version>
<executions>
<execution>
<id>distribution-package</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
</configuration>
</execution>
</executions>
</plugin>
此方法是否正確? 此外,從我的本地回購中提取WAR文件是否有意義?我應該在每個子模塊目標文件夾中使用輸出嗎?