Maven Maven-Antrun-плагин пропустить родительское задание

У меня есть родительский 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>

В одном из детей я не хочу, чтобы скрипт выполнялся, тогда я добавил это в раздел build / plugins:

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

Но, несмотря на этот раздел, задача всегда выполняется. Любая идея, как я мог эффективно разрушить эту задачу в этом ребенке?

1 ответ

Вот как я реализовал это в моем собственном рабочем родительском 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 должен его забрать.

Другие вопросы по тегам