在发布期间激活配置文件准备在maven 3中不起作用

时间:2011-04-14 17:34:47

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

我需要在发布期间激活配置文件:准备。

<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    

我不能使用<releaseProfiles>因为我希望在准备和执行中使用此配置文件

谢谢!

2 个答案:

答案 0 :(得分:1)

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

的内容
<arguments>-Denv=release</arguments>

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

答案 1 :(得分:1)

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

在maven-release-plugin-2.4中已经修复了很多关于配置文件的问题,特别是对于Maven3,因为在使用Maven 2时现在不再提供某些信息,但现在使用的是Maven 3。 请参阅release notes