Ответ 1
Многие плагины Maven связывают определенную цель (mojo) с определенной фазой жизненного цикла.
например. найдите документацию о цели maven-jar-plugin:jar
. В нем говорится:
Привязывается по умолчанию к фазе жизненного цикла: пакет.
Кроме того, сам жизненный цикл указывает, какие инструменты нужно запускать для каждой фазы. Для стандартных типов упаковки эти инструменты предопределены Maven и описаны здесь → http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Built-in_Lifecycle_Bindings.
Но этот пример показывает, как создать полностью настраиваемую привязку жизненного цикла → http://www.sonatype.com/people/2009/08/create-a-customized-build-process-in-maven/. Как вы можете видеть, вы можете привязать любую комбинацию целей плагина к определенной фазе жизненного цикла.
И последнее, но не менее важное: вы можете добавить плагин вручную через элемент build/plugins
вашего pom файла. Если вы сделаете это, плагины в определенных фазах будут выполняться в порядке FIFO.
Кроме того, это может помочь вам увидеть Effective POM
со всеми указанными по умолчанию значениями. Многие IDE предлагают эту опцию для проектов Maven, но вы также можете увидеть эффективный pom из командной строки:
mvn help:effective-pom