forked from upagge/digital-garden
4.6 KiB
4.6 KiB
zero-link, tags, aliases, parents, title
| zero-link | tags | aliases | parents | title | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
Maven |
Maven — это ../../../../knowledge/dev/Система сборки, который управляет их жизненным циклом. Жизненный цикл Maven состоит из нескольких фаз, каждая из которых выполняет определенную задачу, необходимую для успешной сборки и управления проектом.
Основные фазы жизненного цикла
- validate — Проверка корректности проекта и наличия всей необходимой информации.
- compile — Компиляция исходного кода проекта.
- test — Запуск тестов (обычно с использованием JUnit или TestNG) и проверка их успешного выполнения.
- package — Сборка скомпилированного кода и упаковка его, например, в JAR или WAR-файл.
- verify — Проверка собранных артефактов и результатов тестов.
- install — Установка пакета в локальный репозиторий для использования в других проектах.
- deploy — Отправка финального пакета в удаленный репозиторий для использования в других проектах или на сервере.
Warning
Фазы выполняются последовательно, и каждая фаза зависит от предыдущих. Например, при запуске команды
mvn installMaven автоматически выполнит все предыдущие фазы — отvalidateдоinstall.
Основные команды
mvn clean— Удаляет папкуtarget, очищая проект от предыдущих сборок. Полезно использовать перед началом новой сборки, чтобы избежать конфликтов.mvn compile— Компилирует исходный код проекта. Используется на этапе разработки для проверки, что код компилируется без ошибок.mvn test— Запускает тесты. Применяется для проверки корректности работы кода после изменений.mvn package— Упаковывает скомпилированный код в конечный артефакт (обычно JAR или WAR). Используется, когда необходимо подготовить проект для развертывания.mvn install— Устанавливает артефакт в локальный репозиторий. Применяется для того, чтобы сделать артефакт доступным для других локальных проектов.mvn deploy— Деплоит артефакт в удаленный репозиторий. Используется для распространения артефакта среди других разработчиков или для развертывания на сервере.mvn site— Генерирует документацию проекта на основе кода и зависимостей. Полезно для создания отчетов и документации по проекту.