我使用maven 3.2.3。
我有一个包含三层嵌套模块的多模块项目。我想构建除一个以外的所有第一级模块(及其子模块)。对于此任务,我尝试使用-pl选项并使用!moduleName指定要从构建中排除的模块。
我的结果是指定的模块从构建中排除,但该模块的BUT子模块不是。
这是一种预期的行为,我还应该明确地排除所有嵌套的子模块吗?
答案 0 :(得分:4)
简短的回答是:是的,这是预期的行为。
此处记录了记录此更改的功能请求(允许您使用!moduleName
从构建中排除特定模块):
https://jira.codehaus.org/browse/MNG-5230
在该请求中,有人专门询问您要查找的功能:
如何排除嵌套模块?我尝试了新功能,似乎在排除顶层模块时,其嵌套模块不是。
答案是:
父模块不会排除嵌套模块。
所以看起来你必须单独列出它们。
如果您始终排除相同的模块,则可以在根据需要激活或停用的配置文件中预定义此列表。有关详细信息,请参阅此答案:https://stackoverflow.com/a/5542779/1570834