digital-garden/meta/zero/00 Maven.md
2024-10-30 10:53:33 +03:00

4.6 KiB
Raw Blame History

zero-link tags aliases parents title
00 Java разработка
type/zero-link
мавен
мавеном
Maven
Система сборки
Maven

Maven — это ../../../../knowledge/dev/Система сборки, который управляет их жизненным циклом. Жизненный цикл Maven состоит из нескольких фаз, каждая из которых выполняет определенную задачу, необходимую для успешной сборки и управления проектом.

Основные фазы жизненного цикла

  1. validate — Проверка корректности проекта и наличия всей необходимой информации.
  2. compile — Компиляция исходного кода проекта.
  3. test — Запуск тестов (обычно с использованием JUnit или TestNG) и проверка их успешного выполнения.
  4. package — Сборка скомпилированного кода и упаковка его, например, в JAR или WAR-файл.
  5. verify — Проверка собранных артефактов и результатов тестов.
  6. install — Установка пакета в локальный репозиторий для использования в других проектах.
  7. deploy — Отправка финального пакета в удаленный репозиторий для использования в других проектах или на сервере.

Warning

Фазы выполняются последовательно, и каждая фаза зависит от предыдущих. Например, при запуске команды mvn install Maven автоматически выполнит все предыдущие фазы — от validate до install.

Основные команды

  • mvn clean — Удаляет папку target, очищая проект от предыдущих сборок. Полезно использовать перед началом новой сборки, чтобы избежать конфликтов.
  • mvn compile — Компилирует исходный код проекта. Используется на этапе разработки для проверки, что код компилируется без ошибок.
  • mvn test — Запускает тесты. Применяется для проверки корректности работы кода после изменений.
  • mvn package — Упаковывает скомпилированный код в конечный артефакт (обычно JAR или WAR). Используется, когда необходимо подготовить проект для развертывания.
  • mvn install — Устанавливает артефакт в локальный репозиторий. Применяется для того, чтобы сделать артефакт доступным для других локальных проектов.
  • mvn deploy — Деплоит артефакт в удаленный репозиторий. Используется для распространения артефакта среди других разработчиков или для развертывания на сервере.
  • mvn site — Генерирует документацию проекта на основе кода и зависимостей. Полезно для создания отчетов и документации по проекту.

Дополнительные материалы