Skip to content

Краткое введение в maven

Sayapin Alexander edited this page Jan 23, 2013 · 14 revisions

Maven - средство сборки приложений с системой управления зависимостями.

При сборке проекта Maven проходит несколько фаз сборки, на какждой фазе производится вызов соответствующего плагина.

Все фазы можно разделить на 3 раздела:

  • очистка
  • сборка
  • создание сайта проекта

Фазы очистки

  • pre-clean - выполнение предварительных действий для очистки (например, остановка сервисов)
  • clean - удаление всех сгенерированных артефактов
  • post-clean - выполнение действий выполняемых после очистки

Фазы жизненного цикла сборка

  • validate - проверка возможности проведения сборки (например, наличие установленных всех свойств)
  • initialize - инициализация состояния, свойств и т.д.
  • generate-sources - генерация исходного кода компонент (например, генерация лексического анализатора по файлу грамматики)
  • process-sources - обработка исходников (например, фильтрация или замена значений в исходниках)
  • generate-resources - генерация ресурсов
  • process-resources - обработка ресурсов (например, копирование и замена занчений в ресурсах)
  • compile - компиляция проекта
  • process-classes - постобработка файлов классов (например, обработка java-байткода)
  • generate-test-sources - генерация исходных файлов для тестов
  • process-test-sources - постобработка исходников тестов
  • generate-test-resources - генерация ресурсов для тестирования
  • process-test-resources - постобработка ресурсов
  • test-compile - компиляция исходников тестов
  • process-test-classes - постобработка class-файлов тестов
  • test - проведение unit-тестирования
  • prepare-package - выполнение операций перед упаковкой проекта
  • package - упаковка проекта (получение JAR, WAR, EAR-файла)
  • pre-integration-test - подготовка к проведению интеграционных тестов
  • integration-test - проведение интеграционных тестов
  • post-integration-test - действия после выполнения интеграционных тестов
  • verify - верификация пакета
  • install - установка пакета в локальный репозиторий
  • deploy - публикация пакета в удалённый репозиторий

Фазы построения сайта

  • pre-site - предварительные действия перед созданием сайта
  • site - генерация сайта проекта
  • post-site - действия выполняемые после генерации сайта
  • site-deploy - публикация сайта проекта на web-сервер

Фазы выполняются последованительно, соответственно, для того чтобы выполнить фазу (например, install) необходимо выполнить все предшествующие фазы.

Одной из сильнейших сторон Maven является наличие широкого выбора плагинов. Вызов плагинов "привязан" к некоторой фазе, например, mvn compile = mvn compiler:compile.

Полезные плагины

Запуск приложения

$ mvn exec:java -Dexec.mainClass="com.company.App"

Очистка

$ mvn clean

Сборка приложения

$ mvn clean install

Проведение тестов

$ mvn test

Проведение единичного теста

$ mvn -Dtest=testClass test

Проведение единичного теста одного метода

$ mvn -Dtest=testClass#testSomeMethod test

Проведение единичного теста по нескольким методам

$ mvn -Dtest=testClass#test*Method test

Создание документации по проекту

$ mvn site