我的Maven项目结构是:
+ parent
++ moduleA
++ moduleB
在模块 B 中,我使用汇编插件生成第一个 zip 文件。正如预期的那样,它在模块 B/target/目录中生成一个 moduleB.zip 文件:
<assembly>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<!-- ... -->
</fileSets>
</assembly>
现在在我的父模块中,我想生成另一个 zip 文件,并包含 moduleB.zip 文件。
我该怎么做?我应该使用 moduleSet 吗?依赖集?别的?
当您在父项目中时,您无法创建将嵌入其模块的程序集,但有两种解决方案:
- 您可以在
moduleB
中创建第二个程序集,该程序集将创建所需的最终程序集,并且肯定与创建的第一个程序集不同,您只需注意插件配置中executions
的顺序 - 或者,您可以创建第三个模块
moduleC
例如^^),它将依赖于moduleB
(例如,带有type
zip
和可以在moduleB
中定义的classifier
),您将在其中创建最终程序集
您可以在此处找到更多信息:http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#module-binaries
就我个人而言,我一直使用的解决方案是第二个带有专用于最终组装的模块的解决方案。