Maven на самом деле является структурой исполнения плагинов, где каждая задача фактически выполняется с помощью плагинов. Плагины Maven обычно используются для:
- создать файл jar
- создать файл войны
- компилировать файлы кода
- модульное тестирование кода
- создать проектную документацию
- создавать отчеты проекта
Плагин, как правило, предоставляет набор целей, которые могут быть выполнены с использованием следующего синтаксиса —
mvn [plugin-name]:[goal-name]
Например, проект Java может быть скомпилирован с целью компиляции maven-compiler-plugin путем выполнения следующей команды.
mvn compiler:compile
Типы плагинов
Maven предоставил следующие два типа плагинов —
Sr.No. | Тип и описание |
---|---|
1 |
Сборка плагинов Они выполняются во время процесса сборки и должны быть настроены в элементе <build /> файла pom.xml. |
2 |
Плагины отчетности Они выполняются во время процесса создания сайта и должны быть настроены в элементе <reports /> файла pom.xml. |
Сборка плагинов
Они выполняются во время процесса сборки и должны быть настроены в элементе <build /> файла pom.xml.
Плагины отчетности
Они выполняются во время процесса создания сайта и должны быть настроены в элементе <reports /> файла pom.xml.
Ниже приведен список нескольких распространенных плагинов —
Sr.No. | Плагин и описание |
---|---|
1 |
чистый Очищает цель после сборки. Удаляет целевой каталог. |
2 |
компилятор Компилирует исходные файлы Java. |
3 |
безошибочный Запускает юнит-тесты JUnit. Создает протоколы испытаний. |
4 |
яс Создает файл JAR из текущего проекта. |
5 |
война Создает файл WAR из текущего проекта. |
6 |
Javadoc Создает Javadoc для проекта. |
7 |
antrun Запускает набор задач ant на любом этапе, упомянутом в сборке. |
чистый
Очищает цель после сборки. Удаляет целевой каталог.
компилятор
Компилирует исходные файлы Java.
безошибочный
Запускает юнит-тесты JUnit. Создает протоколы испытаний.
яс
Создает файл JAR из текущего проекта.
война
Создает файл WAR из текущего проекта.
Javadoc
Создает Javadoc для проекта.
antrun
Запускает набор задач ant на любом этапе, упомянутом в сборке.
пример
В наших примерах мы широко использовали maven-antrun-plugin для печати данных на консоли. См. Главу «Создание профилей». Давайте лучше разберемся в этом и создадим pom.xml в папке C: \ MVN \ project.
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.projectgroup</groupId> <artifactId>project</artifactId> <version>1.0</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>id.clean</id> <phase>clean</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>clean phase</echo> </tasks> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
Затем откройте командную консоль и перейдите в папку, содержащую pom.xml, и выполните следующую команду mvn .
C:\MVN\project>mvn clean
Maven начнет обработку и отображение чистой фазы чистого жизненного цикла.
[INFO] Scanning for projects... [INFO] ------------------------------------------------------------------ [INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0 [INFO] task-segment: [post-clean] [INFO] ------------------------------------------------------------------ [INFO] [clean:clean {execution: default-clean}] [INFO] [antrun:run {execution: id.clean}] [INFO] Executing tasks [echo] clean phase [INFO] Executed tasks [INFO] ------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------ [INFO] Total time: < 1 second [INFO] Finished at: Sat Jul 07 13:38:59 IST 2012 [INFO] Final Memory: 4M/44M [INFO] ------------------------------------------------------------------
Приведенный выше пример иллюстрирует следующие ключевые понятия —
Плагины указываются в pom.xml с использованием элемента plugins.
Каждый плагин может иметь несколько целей.
Вы можете определить фазу, с которой плагин должен начать свою обработку, используя его фазовый элемент. Мы использовали чистую фазу.
Вы можете настроить задачи, которые будут выполняться, привязав их к целям плагина. Мы связали задачу эха с целью запуска maven-antrun-plugin .
Maven загрузит плагин, если он недоступен в локальном хранилище, и начнет его обработку.