我的pom.xml中有一个配置文件,除非被明确停用(-P!firstProfile),否则该配置文件应始终处于活动状态。我通过使用activeByDefault标志解决了这个问题:
<profiles>
<profile>
<id>firstProfile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
...
</profile>
</profiles>
现在在同一个pom.xml中,我定义了另一个配置文件,只有在该配置文件确实被激活时,该配置文件才应处于活动状态(-P secondProfile)。因此,默认行为是:firstProfile处于活动状态,secondProfile处于非活动状态。在其他情况下,除了第一个配置文件外,我还想激活第二个配置文件。现在的问题是,如果我使用“ -P secondProfile”进行操作,那么不幸的是firstProfile被停用。Maven文档指出:
...除非使用上述方法之一激活同一POM中的另一个配置文件,否则此配置文件将自动对所有版本均有效。在命令行上或通过其激活配置激活POM中的配置文件时,默认情况下所有处于活动状态的配置文件都会自动停用。...
是否有某种可能如何使firstProfile始终保持活动状态(而不必在settings.xml中声明它)?