【问题标题】:active a profile during release prepare in maven 3 does not work在 Maven 3 中发布准备期间激活配置文件不起作用
【发布时间】:2011-04-14 17:34:46
【问题描述】:

我需要在发布期间激活个人资料:准备。

<build>
    <plugins>           
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.1</version>              
            <configuration>             
                <arguments>-Prelease</arguments>
                <preparationGoals>clean validate</preparationGoals>
                <goals>test-compile</goals>                 
            </configuration>
        </plugin>           
    </plugin> 
</build>

但是当我跑步时:

mvn release:prepare -DdryRun=true help:active-profiles 

它永远不会在活动列表中显示配置文件发布。当我这样做时,它不会显示在活动个人资料列表中:

mvn release:perform help:active-profiles    

我不能使用&lt;releaseProfiles&gt;,因为我希望这个配置文件同时用于准备和执行

谢谢!

【问题讨论】:

  • 第一个问题:为什么需要在 release:prepare 阶段激活配置文件?

标签: maven maven-plugin maven-3 maven-release-plugin


【解决方案1】:

我在这种情况下使用的一件事是不使用 -P 参数,而是使用 -Denv=release 通过环境设置触发配置文件。然后在 POM 中,我根据 env 的值激活了配置文件。这一直对我有用。所以在arguments 参数中,你可以放类似

<arguments>-Denv=release</arguments>

可以在这里找到类似的问题:

【讨论】:

    【解决方案2】:

    我认为这里存在一些误解:mvn release:prepare -DdryRun=true help:active-profiles 永远不会显示发布期间使用的活动配置文件,但它会显示当前 活动配置文件。 release:prepare 将启动另一个 Maven 线程(单独的可执行文件),然后才会激活发布配置文件。

    在 maven-release-plugin-2.4 中已修复了很多关于配置文件的问题,尤其是 Maven3,因为在使用 Maven 2 时某些信息不再可用,但现在在 Maven 3 中可用。 见release notes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-23
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 2014-10-29
      • 2018-07-03
      相关资源
      最近更新 更多