Maven -pl !<module> 不会从构建中排除 <module> 的子模块
Maven -pl !<module> doesn't exclude submodules of <module> from the build
我用的是maven 3.2.3.
我有一个包含三层嵌套模块的多模块项目。我想构建除一个之外的所有第一级模块(及其子模块)。对于此任务,我尝试使用 -pl 选项并使用 !moduleName 指定我想从构建中排除的模块。
我得到的结果是指定的模块被排除在构建之外,但该模块的子模块没有。
这是预期的行为吗?我也应该明确排除所有嵌套的子模块吗?
简短的回答是:是的,这是预期的行为。
记录此更改的功能请求(允许您使用 !moduleName
从构建中排除特定模块)记录在 issue MNG-5230。
在该请求中,有人专门询问了您正在寻找的功能:
how about excluding nested modules? I tried the new feature and it seems as though, when a top module is excluded, its nested modules are not.
答案是:
Nested modules are not excluded by parent module.
看来您必须将它们全部单独列出。
如果您总是排除相同的模块,您可以在根据需要激活或停用的配置文件中预定义此列表。可以在这个答案中看到详细信息:
我用的是maven 3.2.3.
我有一个包含三层嵌套模块的多模块项目。我想构建除一个之外的所有第一级模块(及其子模块)。对于此任务,我尝试使用 -pl 选项并使用 !moduleName 指定我想从构建中排除的模块。
我得到的结果是指定的模块被排除在构建之外,但该模块的子模块没有。
这是预期的行为吗?我也应该明确排除所有嵌套的子模块吗?
简短的回答是:是的,这是预期的行为。
记录此更改的功能请求(允许您使用 !moduleName
从构建中排除特定模块)记录在 issue MNG-5230。
在该请求中,有人专门询问了您正在寻找的功能:
how about excluding nested modules? I tried the new feature and it seems as though, when a top module is excluded, its nested modules are not.
答案是:
Nested modules are not excluded by parent module.
看来您必须将它们全部单独列出。
如果您总是排除相同的模块,您可以在根据需要激活或停用的配置文件中预定义此列表。可以在这个答案中看到详细信息: