Где лучше всего указать требуемые репозитории для проектов maven, pom.xml
или settings.xml
? Каковы плюсы и минусы каждого места? Какая практика?
Мне кажется, что определение репозиториев в POM лучше по нескольким причинам:
- Воспроизводимость: зависимые артефакты поступают из известного местоположения, которое явно объявлено в POM. Существует также меньше возможностей для неправильно сконфигурированных репозиториев пользователей, которые могут вызвать проблемы.
- Переносимость: этот POM будет построен на любой машине с установленным maven. Нет дополнительных требований к настройкам репозитория, настроенным пользователем.
- Простота использования. Легче для новых разработчиков извлекать и строить проект, потому что настройка конфигурации меньше.
Возможно, конфликт заключается в том, что если местоположение репозитория изменится в будущем, необходимо будет установить прокси-серверы или установить исправления выпусков старого программного обеспечения, указав новые местоположения репозитория (или .m2/settings.xml
всегда может предоставлять дополнительные репозитории в качестве в крайнем случае). Однако это похоже на необходимое разветвление хорошей воспроизводимости и переносимости в управлении выпуском, а не на con.
Любые другие мысли?