如果在Maven 3.x中设置系统属性id,如何运行exec-maven-plugin?

时间:2012-02-16 17:48:27

标签: maven properties maven-3 pom.xml

如果设置了系统属性,我想运行'exec-maven-plugin'。我如何在Maven 3.x中完成此任务?

例如,给定:

mvn clean install -DrunTheExec="yes"

然后我该如何实现这个逻辑:

<!-- if $(runTheExec) == yes then run this plugin -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            ...
        </plugin>

2 个答案:

答案 0 :(得分:3)

您需要在pom中定义一个配置文件,并在其中定义插件。在您的示例中,这将是:

<profiles>
  <profile>
    <activation>
      <property>
        <name>runTheExec</name>
        <value>yes</value>
      </property>
    </activation>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        ...
      </plugin>
    </plugins>
  </profile>
</profiles>

答案 1 :(得分:2)

我正准备添加与Johnathon相同的建议,但使用的配置文件略有不同。

<profiles>
  <profile>
    <id>runTheExec</id>
    <activation>
      <activeByDefault>false</activeByDefault>
    </activation>
    <build>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
    ...

然后激活它:

mvn clean install -PrunTheExec