Как работает mvn install в Maven и его взаимодействие с pom.xml
Быстрый ответ
Команда mvn install
занимается компиляцией исходного кода, проводит юнит-тесты, создаёт JAR/WAR-пакет и помещает его в локальный Maven-репозиторий. Для запуска этого процесса достаточно ввести:
mvn install
С помощью этого механизма артефакты вашего проекта становятся доступны в виде зависимостей для других локальных Maven-проектов, не требуя обращения к удалённому репозиторию.
Анализ mvn install
Команда mvn install
проходит все этапы сборки проекта вплоть до установки. Проект компилируется, упаковывается в JAR или иной формат, а затем помещается в локальный репозиторий Maven, обычно располагающийся в домашнем каталоге пользователя (.m2/repository
). В таком положении его артефакты могут служить зависимостями для других локальных проектов.
Цикл сборки
Команда install
проходит следующие фазы:
validate
– проверяет правильность проекта.compile
– компилирует исходный код.test
– тестирует скомпилированный код.package
– создаёт пакет проекта.verify
– проверяет результаты интеграционных тестов.install
– располагает пакет в локальном репозитории.
Нужно пропустить тесты? Легко.
Для пропуска тестов используйте следующую команду:
mvn install -DskipTests
А чтобы скомпилировать тесты, не выполняя их, воспользуйтесь:
mvn install -Dmaven.test.skip=true
За рамками основ
Установка пути к локальному репозиторию
Можно указать другую директорию для локального репозитория, настроив settings.xml
Maven Install Plugin
Maven Install Plugin (install:install
) копирует собранный артефакт, файл POM и все связанные с ними файлы в локальный репозиторий.
Поиск зависимостей в вебе
Если в локальном репозитории отсутствуют зависимости, Maven пытается загрузить их с удалённых серверов.
Доступ к артефактам
Артефакты, расположенные в локальном репозитории, доступны для использования в других проектах на этом же компьютере.
Отладка в Maven
Глубокое понимание команды mvn install
поможет решить возникающие проблемы с сборкой или зависимостями.
Визуализация
mvn install
можно представить как строительство автомагистрали:
1. Проект 🚧 (Поддержка сложной кодовой базы)
2. Сборка 🧹 (Процесс написания кода – строительство дороги)
3. Тестирование 📏 (Проверка соответствия нормам)
4. Упаковка 🧳 (Оформление дороги в итоговом виде, подготовка к эксплуатации)
5. Установка 🛣️ (Создание связей между разными путями)
mvn install
– это работа эффективного дорожного укладчика:
Проект 🚧 -> Сборка 🧹 -> Тестирование 📏 -> Упаковка 🧳 -> Установка 🛣️
// 'mvn install' прокладывает дорогу (JAR), соединяя её с локальным репозиторием
mvn install
– это создание нового участка дороги:
Последний шаг: Магистральные связи (Локальный репозиторий)
🛣️🚙🚚🏍️
🔍🧳🛣️ -> Ваш кодовый путь официально открыт!
(JAR готов к использованию)
Полезные материалы
- Maven – Maven в течение 5 минут – Быстрый гид по Apache Maven.
- Apache Maven Install Plugin – install:install – Подробная информация о команде maven install.
- Maven – Введение в жизненный цикл сборки — Описание жизненного цикла Maven.
- Apache Maven – Википедия — Статья о Maven на Википедии.
- Maven для начинающих – Объяснение фазы установки — Видеоурок о фазе установки на YouTube.