1

我有一个父 pom,其中包含一个需要由所有孩子执行的 maven ant 任务:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>set-scripts-rights</id>
      <phase>initialize</phase>
      <configuration>
        <tasks>
         <!-- The tasks that needs to be exacuted-->
        </tasks>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

在其中一个孩子中,我不希望执行脚本,然后我将其添加到构建/插件部分:

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <configuration>
    <skip>true</skip>
  </configuration>
</plugin>

但是尽管有这个部分,任务总是被执行。知道我怎样才能有效地在这个孩子身上浪费这个任务吗?

4

1 回答 1

0

这就是我在自己的工作父 pom 中实现它的方式:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <id>set-scripts-rights</id>
            <phase>initialize</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <skip>${skip.property.name}</skip>
                <tasks> <!-- NOTE: tasks is deprecated, consider using target instead -->
                    <!-- The tasks that needs to be executed-->
                </tasks> <!-- NOTE: tasks is deprecated, consider using target instead -->
            </configuration>
        </execution>
    </executions>
</plugin>

触发孩子时,设置属性 ${skip.property.name} 并且父 pom 应该将其拾取。

于 2017-08-04T16:46:56.957 回答