Как Вы вынуждаете знатока выполнить antrun:run задачу после всех задач пакета в АНГЛИЧАНИНЕ с дочерними модулями?

У меня есть родительский АНГЛИЧАНИН с набором дочерних модулей. Я хочу выполнить antrun:run задачу после того, как все дети выполнили задачу пакета (я использую Муравья для упаковки моего приложения, так как я бросил выяснять, как заставить блок работать правильно).

У меня должна быть antrun задача, выполняются после всех детей - но я не могу связать ее с фазой пакета, так как "упаковывается" родитель перед детьми, и мне нужен муравей для выполнения впоследствии.

Существует ли способ сделать это в одной команде?

Легкое обходное решение, конечно, должно выполнить 2 команды знатока:

mvn package; mvn antrun:run

Но я хочу сделать это в одном, если это возможно,

mvn package antrun:run

производит неправильное поведение - оно выполняет antrun:run перед фазой пакета дочерних проектов.

Идеально, я смог бы просто ввести

mvn package

И имейте ту фазу пакета выполнения на всех детях и затем выполните antrun:run на родителе.

8
задан Pascal Thivent 30 July 2010 в 21:59
поделиться

2 ответа

Мне нужно, чтобы задача antrun выполнялась после всех дочерних элементов, но я не могу связать ее с пакетом фаза, так как родительский элемент «упаковывается» раньше, чем дети, и мне нужно, чтобы муравей бежал после него.

Создайте другой модуль, который зависит от всех дочерних элементов (чтобы он был последним проектом во время сборки реактора), и привяжите свой материал antrun к пакету в этом модуле. Затем просто запустите mvn package из корневого проекта.

12
ответ дан 5 December 2019 в 13:59
поделиться

Сначала вы должны указать выполнение для плагина antrun. Это автоматизирует запуск этого плагина.

Затем вы должны заставить maven запустить плагин пакета перед плагином antrun . Это можно сделать, установив пакет плагина перед установкой плагина antrun .

Пример настройки:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
  </plugin>
  <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.4</version>
    <executions>
      <execution>
        <phase> package </phase>
        <configuration>
          <tasks>

            <!--
              Place any Ant task here. You can add anything
              you can add between <target> and </target> in a
              build.xml.
            -->

          </tasks>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
-3
ответ дан 5 December 2019 в 13:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: