插件执行时的Maven属性

时间:2013-12-31 17:22:36

标签: maven maven-3 maven-plugin

我试图弄清楚如何在生命周期的不同点将maven属性设置为不同的值。例如,如果我在项目级别设置属性

<project>
    <properties>
        <some.property>Value</some.property>
    </properties>
</project>

在第三方插件执行期间,我希望能够将其更改为其他内容。

<plugins>
    <plugin>
        <groupId>com.github.mcheely</groupId>
        <artifactId>requirejs-maven-plugin</artifactId>
        <version>2.0.0</version>
        <executions>
           <execution>
                <!-- change the value here -->
           </execution>
           <execution>
                <!-- change the value here again-->
           </execution>
        </executions>
    </plugin>
</plugins>

或者替代地,不是去变量设置路径,如果我可以访问特定执行中的唯一ID或属性集,它也可以工作。例如 -

<plugins>
    <plugin>
        <groupId>com.github.mcheely</groupId>
        <artifactId>requirejs-maven-plugin</artifactId>
        <version>2.0.0</version>
        <executions>
           <execution>
               <id>SomeID</id>
               <!-- change the value here -->
           </execution>
           <execution>
               <id>SomeID</id>
               <!-- change the value here again-->
           </execution>
        </executions>
    </plugin>
</plugins>

然后像这样访问这个变量

${execution.id}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用配置文件是一个选项(每个配置文件将执行requirepsplugin):

<profiles>
  <profile>
    <id>profile-1</id>
    <properties>
        <some.property>Value1</some.property>
    </properties>
    ...
  </profile>
  <profile>
    <id>profile-2</id>
    <properties>
        <some.property>Value2</some.property>
    </properties>
    ...
  </profile>
</profiles>

使用-P激活所需的个人资料(但要注意,如果激活2个或更多)

完整文档here