Жизненный цикл сборки Maven, этапы и цели
Что такое жизненный цикл сборки Maven?
Когда мы создаем проект Maven, он выполняет набор четко определенных задач на основе конфигурации проекта pom.xml и параметров командной строки. Этот стандартный набор задач создает жизненный цикл сборки maven. Преимущество четко определенного образа жизни заключается в том, что нам нужно помнить лишь несколько наборов команд для компиляции, сборки, установки и развертывания наших проектов. Рекомендуемая литература: более 20 команд и параметров Maven (шпаргалка)
Встроенные жизненные циклы сборки
Существует три встроенных жизненных цикла сборки.
- по умолчанию: обрабатывает сборку и развертывание проекта
- clean: выполняет очистку проекта
- сайт: занимается созданием документации сайта проекта.
Этапы сборки Maven
Жизненный цикл сборки Maven проходит через ряд этапов, которые называются фазами сборки. Например, жизненный цикл по умолчанию состоит из следующих фаз.
- подтвердить
- скомпилировать
- проверить
- пакет
- подтвердить
- установить
- развернуть
Этапы сборки выполняются последовательно. Когда мы запускаем команду сборки maven, мы указываем фазу, которую нужно выполнить. Любые этапы сборки maven, предшествующие указанному этапу, также выполняются. Например, если мы запустим mvn package
, он выполнит этапы проверки, компиляции, тестирования и упаковки проекта.
Цели сборки Maven
Этап сборки состоит из набора целей. Цели Maven представляют собой конкретную задачу, которая способствует созданию проекта и управлению им. Иногда цель maven не привязана к фазе сборки. Мы можем выполнить эти цели через командную строку. Синтаксис для выполнения цели:
$ mvn plugin-prefix:goal
$ mvn plugin-group-id:plugin-artifact-id[:plugin-version]:goal
Вот пример выполнения цели дерева зависимостей из командной строки. Он не является частью каких-либо этапов сборки.
mvn dependency:tree
Роль POM в жизненном цикле сборки
Сборки maven, выполняемые через командную строку, выполняют ряд этапов и целей. Конфигурация pom.xml играет важную роль в настройке жизненного цикла сборки проекта. Значение packaging
в файле pom.xml определяет набор целей, которые должны быть выполнены сборкой maven. Например, если это jar
, будут выполнены следующие этапы и цели.
Phase | Goal |
---|---|
process-resources | resources:resources |
compile | compiler:compile |
process-test-resources | resources:testResources |
test-compile | compiler:testCompile |
test | surefire:test |
package | jar:jar |
install | install:install |
deploy | deploy:deploy |
Мы также можем настроить цели в файле pom.xml, используя элемент plugins. Это в основном требуется, когда вы создали собственный плагин и хотите выполнить какую-либо конкретную цель на этапе сборки.
Рекомендации
- Документация Apache.org