Тег репозитория в дистрибутивеManagement vs repositories?
Я вижу тег репозиториев под родительским элементом i.e distributionManagement
и repositories
. Какая разница?
<distributionManagement>
<repository>
<id>...</id>
<name>...</name>
<url>...</url>
</repository>
</distributionManagement>
<repositories>
<repository>
<id>...</id>
<name>...</name>
<layout>default</layout>
<url>...</url>
</repository>
</repositories>
В моем понимании элемент repository
в элементе distributionManagement
указывает, где он будет развертывать артефакты во время развертывания. Он будет отображаться только тогда, когда mvn deploy
i.e время развертывания не во время mvn install
i.e время сборки. Правильно?
Элемент
repository
element in repositories указывает, откуда нужно подбирать зависимости. Он будет отображаться только в mvn install
не во время mvn deploy
. Правильно?
Ответы
Ответ 1
У вас это точно!
В ссылке POM:
Где, когда элемент repositories
указывает в POM местоположение и способ, которым Maven может загружать удаленные артефакты для использования в текущем проекте, distributionManagement
указывает, где (и как) этот проект попадет в удаленный репозиторий, когда он развернут. Элементы репозитория будут использоваться для распределения моментальных снимков, если snapshotRepository не определен.
- Репозитории, объявленные под элементом
distributionManagement
, будут использоваться для развертывания, т.е. при запуске mvn deploy
.
- Элемент
repositories
будет использоваться для загрузки зависимостей проекта. Команда не обязательно mvn install
, а любая команда, требующая Maven для извлечения артефактов из репозитория.