0

如果用户忽略指定构建配置文件,我希望 Maven 跳过构建所有子模块。https://stackoverflow.com/a/8305931/14731解释了如何在选择配置文件时包含模块,而不是如何排除它。

我知道我可以将<modules>构建复制到所有非默认配置文件中,但是模块列表非常庞大,而且我有超过 9 个不同的配置文件,这使得这成为维护的噩梦。

如果配置文件被激活,有没有办法排除/跳过子模块?或者,有没有办法将模块列表存储到一个属性中并从多个配置文件中重复使用它,而不必每次都重复整个列表?

4

1 回答 1

0

问题 1

如果配置文件被激活,有没有办法排除/跳过子模块?

我能看到的唯一方法是只在配置文件中定义它们应该处于活动状态的模块,也许包括一个“特殊”配置文件,activeByDefault如果你希望它们默认处于活动状态......

但这会受到一个问题的影响,即如果有人这样做

mvn verify -P+profile

然后默认情况下活动的配置文件仍将处于活动状态(即模块仍将存在)

注意:-Pprofile激活命名的配置文件profile并停用所有活动的默认配置文件。-P-profile停用(可能)活动的默认配置文件名为profile. -P+profile激活配置文件名称profile而不影响活动配置文件。

问题2

或者,有没有办法将模块列表存储到一个属性中并从多个配置文件中重复使用它,而不必每次都重复整个列表?

不是我知道的。属性替换通常在 Maven 计算构建计划时不可用。

于 2013-08-28T14:15:39.033 回答