Maven:如果激活配置文件,如何跳过子模块?

时间:2013-08-28 00:24:15

标签: maven maven-module

如果用户忽略指定构建配置文件,我希望Maven跳过构建所有子模块。 https://stackoverflow.com/a/8305931/14731说明了如果选择了个人资料,但不包括如何排除模型,那么如何包含模块。

据我所知,我可以将<modules>复制到所有非默认配置文件中,但模块列表很大,我有超过9种不同的配置文件,这使得维护成为一场噩梦。

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

1 个答案:

答案 0 :(得分:0)

问题1

  

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

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

但是,如果有人这样做,那就会遇到问题

mvn verify -P+profile

然后默认配置文件仍处于活动状态(即模块仍然在那里)

注意:-Pprofile会激活名为profile的配置文件,并停用所有默认配置文件。 -P-profile停用(可能)默认配置文件名为profile的活动状态。 -P+profile会激活个人资料名称profile,而不会影响有效个人资料。

问题2

  

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

不是我知道的。一般来说,当Maven计算构建计划时,属性替换是不可用的。