Struchkov Mark
e9fc372054
All checks were successful
continuous-integration/drone/push Build is passing
4.6 KiB
4.6 KiB
zero-link | tags | aliases | parents | title | ||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
Maven |
Maven — это ../../../../knowledge/dev/Система сборки, который управляет их жизненным циклом. Жизненный цикл Maven состоит из нескольких фаз, каждая из которых выполняет определенную задачу, необходимую для успешной сборки и управления проектом.
Основные фазы жизненного цикла
- validate — Проверка корректности проекта и наличия всей необходимой информации.
- compile — Компиляция исходного кода проекта.
- test — Запуск тестов (обычно с использованием JUnit или TestNG) и проверка их успешного выполнения.
- package — Сборка скомпилированного кода и упаковка его, например, в JAR или WAR-файл.
- verify — Проверка собранных артефактов и результатов тестов.
- install — Установка пакета в локальный репозиторий для использования в других проектах.
- deploy — Отправка финального пакета в удаленный репозиторий для использования в других проектах или на сервере.
Warning
Фазы выполняются последовательно, и каждая фаза зависит от предыдущих. Например, при запуске команды
mvn install
Maven автоматически выполнит все предыдущие фазы — отvalidate
доinstall
.
Основные команды
mvn clean
— Удаляет папкуtarget
, очищая проект от предыдущих сборок. Полезно использовать перед началом новой сборки, чтобы избежать конфликтов.mvn compile
— Компилирует исходный код проекта. Используется на этапе разработки для проверки, что код компилируется без ошибок.mvn test
— Запускает тесты. Применяется для проверки корректности работы кода после изменений.mvn package
— Упаковывает скомпилированный код в конечный артефакт (обычно JAR или WAR). Используется, когда необходимо подготовить проект для развертывания.mvn install
— Устанавливает артефакт в локальный репозиторий. Применяется для того, чтобы сделать артефакт доступным для других локальных проектов.mvn deploy
— Деплоит артефакт в удаленный репозиторий. Используется для распространения артефакта среди других разработчиков или для развертывания на сервере.mvn site
— Генерирует документацию проекта на основе кода и зависимостей. Полезно для создания отчетов и документации по проекту.