Запуск антрана во время войны: взорвался - PullRequest
2 голосов
/ 16 марта 2011

Для сборки Maven мне нужно скопировать некоторые файлы после того, как разобранный каталог был создан с помощью плагина war. Можно ли запустить плагин antrun во время / после войны: взорванная цель? Если так, как бы я это сделал? Я пробовал:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <executions>
        <execution>
          <phase>war</phase>
          <goals>
            <goal>exploded</goal>
          </goals>
          <configuration>
            <tasks>
              <echo>Running ant task...</echo>
            </tasks>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

И несколько других вариаций, но, похоже, они не запускаются.

В идеале, я бы хотел, чтобы задача муравья выполнялась, если я веду полную войну: войну тоже, но я перейду этот мост, когда подойду к нему.

1 Ответ

0 голосов
/ 01 апреля 2011

Для этого есть как минимум два способа:

Использование прямого вызова плагинов

При вызове mvn war:exploded oder mvn war:war вы вызываете толькоконкретная цель конкретного плагина.Никакой другой плагин не выполняется.Выполнения, определенные в pom.xml, не имеют значения.Как следствие, вы можете вызывать только несколько целей плагина напрямую, например, mvn war:exploded antrun:run.

Но будьте осторожны при сборке нескольких модулей: mvn war:exploded antrun:run запускает antrun после военного плагина для каждого модуля.Принимая во внимание, что mvn war:exploded; mvn antrun:run запускает плагин war для всех модулей, а затем antrun для всех модулей.

Использование привязок плагинов к жизненному циклу

При вызове mvn pre-integration-test вы вызываете всефазы жизненного цикла по умолчанию до предварительного тестирования интеграции.Вы можете определить выполнение военного плагина для цели «взорвалась» в фазе «пакет» и выполнение antrun для цели «запустить» в фазе «тест перед интеграцией».


Фазы нет »война »в жизненном цикле по умолчанию.Так что ваш пример выше не будет работать с жизненным циклом по умолчанию.А для настраиваемого жизненного цикла с настраиваемыми фазами вам нужны настраиваемые плагины.

...