Я только начал использовать 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-resources
compile
process-test-resources
test-compile
test
package
install
deploy
Этап тестирования этого 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, в локальный репозиторий (из удаленных источников).