-
Notifications
You must be signed in to change notification settings - Fork 56
Краткое введение в 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