Evgeniy S
Read 1 minute

4. Maven: plugins and goal

Давайте рассмотрим плагины и цели maven.

Maven это приложение выполняющие плагины. Maven парсит pom.xml, далее передает управление в плагины, которые связаны с жизненным циклом мавен.

У плагина есть набор целей, которые могут быть выполнены, пример синтаксиса:

mvn plugin:goal

Или же можно испольвовать дополнительные параметры

mvn plugin:goal -Dparam1=value -DparamAbc=value2

Плагины указываются в pom.xml внутри блока:

<plugins>
...
</plugins>

Плагины бывают двух типов, каждый тип настраиваются в собственной секции pom.xml:

  • <build> выполняется в процессе сборки </build>
  • <reporting> выполняется в процессе генерирования сайта, обратите внимания что плагины отчетности должны быть локализованы</reporting>

Все плагины должны иметь минимально необходимую информацию: groupId, artifactId, version.

Объявление плагина в pom.xml

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
</plugin>
</plugins>

Привязка к фазам сборки проекта и настройка дополнительный параметрам

Объявив плагин, его можно настроить, с помощью привязки плагина к фазе сборки проекта. Секциция <executions> связывает цели <goal> плагинов с фазами <phase> циклов сборки. Настройки задаются в секции <configuration> которые специфичны для конкретного плагина. Рассмотрим пример ниже:

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<executions>
<execution>
<phase> ... </phase>
<goals>
<goal> ... </goal>
</goals>
</execution>
</executions>
<configuration>
<option> ... </option>
<server> ... </server>
<url> ... </url>
</configuration>
</plugin>
</plugins>

Каждый плагины имеет цели. Узнать о целях плагина:

mvn help:describe -Dplugin=compiler

Узнать описание цели плагина можно так:

mvn help:describe -Dplugin=compiler -Dgoal=compile
11 views
Add
More
Follow