当两个条件中的任何一个发生时,我需要跳过执行。
类似这样的东西:
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为真时跳过此执行。只是第二个跳过起作用,因为它会覆盖第一个。
有什么办法可以做到这一点?
答案 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添加另一个属性和配置文件。