Ответ 1
Вы можете связать выполнение каждого плагина с одной и той же фазой, и они будут выполнены в указанном вами порядке. Обратите внимание, что они будут выполнены после запуска цели развертывания, поэтому вам может потребоваться привязать их к предыдущей фазе (установка)
Обновление: чтобы гарантировать выполнение перед и после выполнения целей вокруг выполнения плагина зависимостей, вам необходимо убедиться, что они определены в отдельных плагинах. В противном случае две конфигурации будут объединены и выполняться последовательно.
Если два исполнения необходимо определить в одном и том же плагине, вы можете сделать это, указав собственный жизненный цикл и вызывая этот жизненный цикл до того, как ваш Mojo будет выполнен с помощью аннотации выполнения. В этом ответе я описал, как создать пользовательский жизненный цикл и заставить его быть вызванным до запуска плагина. Если вы сконфигурируете цель выполнения для вызова плагина зависимостей, вы получите требуемый порядок выполнения (вы даже можете вызвать цель выполнения перед этим жизненным циклом).
В приведенном ниже примере будут выполняться три плагина на этапе развертывания:
<plugin>
<groupId>custom.url.plugin</groupId>
<artifactId>maven-url-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>execution-before</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>unpack</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>custom.url.plugin</groupId>
<!--specify final execution in a different plugin to
avoid the configurations being merged-->
<artifactId>maven-url-2-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>execution-after</goal>
</goals>
</execution>
</executions>
</plugin>