Я только начал использовать Maven, и мне сказали сделать mvn install в определенном каталоге.
Что делает mvn install, точно?
Я думаю, что он ищет pom.xml в текущей папке и начинает следовать инструкциям, указанным в этом файле. Это правильно?
Я только начал использовать Maven, и мне сказали сделать mvn install в определенном каталоге.
Что делает mvn install, точно?
Я думаю, что он ищет pom.xml в текущей папке и начинает следовать инструкциям, указанным в этом файле. Это правильно?
Как вы, возможно, знаете, Maven - это инструмент автоматизации сборки, предоставляемый Apache, который делает больше, чем просто управление зависимостями. Мы можем сделать его равным Ant и Makefile, который загружает все необходимые зависимости.
На mvn install он создает дерево зависимостей на основе конфигурации проекта pom.xml для всех подпроектов в супер pom.xml (корневой POM) и загружает/компилирует все необходимые компоненты в каталог под названием .m2 в папке пользователя. Эти зависимости должны быть разрешены для создания проекта без каких-либо ошибок, и mvn install - это одна из утилит, которая может загрузить большинство зависимостей.
Кроме того, в Maven есть и другие утилиты, такие как dependency:resolve, которые можно использовать отдельно в любых конкретных случаях. Жизненный цикл сборки mvn выглядит следующим образом: Привязки LifeCycle
process-resourcescompileprocess-test-resourcestest-compiletestpackageinstalldeployЭтап тестирования этого mvn можно игнорировать с помощью флага -DskipTests=true.
Посмотрели ли вы на любой из документов Maven, например, maven install plugin docs?
Версия в двух словах: он построит проект и установит его в вашем локальном репозитории.
Он будет запускать все цели всех настроенных плагинов, связанных с любой фазой жизненного цикла по умолчанию, до фазы "установки":
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
Цель install:install предоставляется "Плагин установки Apache Maven":
Плагин установки Apache Maven
Плагин установки используется на этапе установки для добавления артефактов (ов) в локальный репозиторий. Плагин установки использует информацию в POM (
groupId,artifactId,version), чтобы определить правильное расположение артефакта в локальном репозитории.Локальный репозиторий - это локальный кеш, в котором хранятся все артефакты, необходимые для сборки. По умолчанию он находится в домашнем каталоге пользователя (
~/.m2/repository), но местоположение можно настроить в~/.m2/settings.xmlс помощью элемента<localRepository>.
Сказав это, цель цели:
install:installиспользуется для автоматической установки основного артефакта проекта (JAR, WAR или EAR), его POM и любых прикрепленных артефактов (источников, javadoc и т.д.), созданных конкретным проектом.
Дополнительные сведения о цели см. в Установка Apache Maven Install Plugin - установка: установка.
Дополнительные сведения о жизненном цикле сборки в целом и о том, в каком месте эта цель находится в жизненном цикле сборки, см. в Maven - Введение в сборку Lifecycle.
-DskipTests=true является короткой формой -Dmaven.test.skip=true
Внесите изменения в Setting.xml в папку .m2. Вы можете использовать ссылку на локальное репо, чтобы баны после downlaoded не загружались снова и снова.
<url>file://C:/Users/admin/.m2/repository</url>
</repository>
Короткий ответ
установить mvn
- добавляет все артефакты (зависимости), указанные в pom, в локальный репозиторий (из удаленных источников).