Предполагая, что сборка уже была определена для создания сборки в целевом объекте / сборках, вам просто нужно связать выполнение плагинов с фазами стандартного жизненного цикла , чтобы вы могли запустить mvn install
( например) и запускать плагины в течение этого жизненного цикла.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>generate-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<!--your configuration here -->
...
</configuration>
</execution>
</executions>
</plugin>
Затем вы связываете выполнение вашего плагина с более поздним этапом (скажем, интеграционным тестом), чтобы он мог получить доступ к файлам сборки:
<plugin>
<groupId>your.plugin.groupId</groupId>
<artifactId>your-artifactId</artifactId>
<executions>
<execution>
<id>mung-manifests</id>
<phase>package</phase>
<goals>
<goal>your-goal-name</goal>
</goals>
<configuration>
<assemblyDirectory>${project.build.directory}/assemblies</assemblyDirectory>
</configuration>
</execution>
</executions>
</plugin>
Используя этот подход, каждый плагин будет запускаться в соответствующей фазе (пакете) при запуске mvn package
(или более поздней фазе, такой как установка, проверка, развертывание ...).
Обратите внимание, что ваш плагин должен быть определен после плагин сборки , чтобы обеспечить его последующее выполнение (не имеет значения для порядка, если они находятся в разных фазах, только когда в той же фазе).