2015-02-06 16 views
1

我使用maven 3.2.3。Maven -pl! <module>不排除<module>的子模块构建

我有一个多模块项目与三级嵌套模块。我想构建除一个之外的所有第一级模块(及其子模块)。对于此任务,我尝试使用-pl选项,并使用!moduleName指定要从构建中排除的模块。

我得到的结果是指定的模块被排除在构建之外,但该模块的子模块不是。

这是预期的行为,我应该明确排除所有嵌套的子模块?

回答

1

简短的回答是:是的,它是预期的行为。

,其中记录这种变化(允许您使用!moduleName排除从生成一个特定模块)的功能请求被记录在这里: https://jira.codehaus.org/browse/MNG-5230

在该请求有人专门为你正在寻找的功能要求:

排除嵌套模块怎么样?我试过这个新功能,看起来好像当顶层模块被排除时,它的嵌套模块不是。

和答案有:

嵌套模块不是由父模块中排除。

所以看起来你必须单独列出它们。

如果您总是排除相同的模块,您可以根据需要在配置文件中预定义此列表,该配置文件可以激活或取消激活。这个问题的细节可以在这个答案中看到:https://stackoverflow.com/a/5542779/1570834