Тег репозитория в разделе DistributionManagement vs Repositories?


88

Я вижу repositoryтег под родительским элементом, т.е. 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развертывания, а не во время mvn installсборки. Правильно?

repositoryЭлемент в разделе репозиториев указывает, откуда нужно брать зависимости. Он появится в картине только пока mvn installне во время mvn deploy. Правильно?

Ответы:


81

Вы все сделали правильно!

Из ссылки на POM :

Если repositoriesэлемент указывает в POM расположение и способ, которым Maven может загружать удаленные артефакты для использования в текущем проекте, distributionManagementуказывает, где (и как) этот проект попадет в удаленный репозиторий при его развертывании. Элементы репозитория будут использоваться для распространения снимков, если snapshotRepository не определен.

  • Репозитории, объявленные в distributionManagementэлементе, будут использоваться для развертывания, т. Е. При запуске mvn deploy.
  • repositoriesЭлемент будет использоваться для загрузки зависимостей проекта. Команда не обязательно, mvn installно любая команда, которая требует, чтобы Maven извлекал артефакты из репозитория.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.