【问题标题】:Maven: How to skip sub-modules if a profile is activated?Maven:如果配置文件被激活,如何跳过子模块?
【发布时间】:2013-08-28 00:24:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: maven maven-module


    【解决方案1】:

    问题 1

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

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

    但是,如果有人这样做,就会受到问题的影响

    mvn verify -P+profile
    

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

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

    问题 2

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 2019-04-18
      • 2013-08-30
      • 2018-07-03
      • 2011-11-12
      • 2014-10-29
      • 1970-01-01
      • 2014-02-27
      • 2015-08-19
      相关资源
      最近更新 更多