exec-maven-plugin跳过多个条件

时间:2018-07-16 22:55:07

标签: java maven skip exec-maven-plugin

当两个条件中的任何一个发生时,我需要跳过执行。

类似这样的东西:

mvn clean test -DconditionA=false -DconditionB=false

这是我的示例pom:

    <build>
      <plugins>
          <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>exec-maven-plugin</artifactId>
              <version>1.6.0</version>
              <executions>
                  <execution>
                      <id>list-dir</id>
                      <phase>validate</phase>
                      <goals>
                          <goal>exec</goal>
                      </goals>
                      <configuration>
                          <executable>ls</executable>
                          <workingDirectory>.</workingDirectory>
                          <arguments>
                              <argument>-ls</argument>
                          </arguments>
                          <skip>${conditionA}</skip>
                          <skip>${conditionB}</skip>
                      </configuration>
                  </execution>
              </executions>
          </plugin>
      </plugins>
</build>

我想要的是能够在条件A或条件B为真时跳过此执行。只是第二个跳过起作用,因为它会覆盖第一个。

有什么办法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

conditionA设置为true时,您可以使用配置文件覆盖conditionB

<profiles>
  <profile>
    <activation>
      <property>
        <name>conditionB</name>
        <value>true</value>
      </property>
    </activation>
    <property>
      <conditionA>true</conditionA>
    </property>
  </profile>
</profiles>

这将适用于:

mvn clean test -DconditionA=true

或:

mvn clean test -DconditionB=true

它可能不适用于:

mvn clean test -DconditionA=false -DconditionB=true

我还没有尝试过。如果没有,并且您确实需要它,则需要为设置它的A和B添加另一个属性和配置文件。

相关问题