Это не связано с обновлением зависимостей pom с использованием цели maven.Я уже разобрался с этим.Поэтому я отвечаю за создание, упаковку и обслуживание общих утилит.Эти общие утилиты, в свою очередь, используются всеми командами в организации.Проблема в том, что команды, использующие эти утилиты, не обновляют зависимости, если это не последнее средство.Мы бы хотели, чтобы они использовали последнюю версию наших общих утилит, за исключением очень немногих.Теперь я натолкнулся на этот Плагин Maven Versions от mojohaus, который, я думаю, удовлетворяет мои потребности, используя две цели - versions:update-properties
и versions:use-latest-releases
.Он служит моей цели, кроме двух вещей:
Я не вижу способа исключить определенный groupid: artifactid из зависимости / свойства обновления
Мы действительно хотим, чтобы это было обязательным условием (может быть, частью выполнения теста - в основном это касается утилит автоматизации тестирования), а не целью maven.Потому что, если это мавенская цель, ее нужно вызывать отдельно и, следовательно, она становится необязательной для команд.
Мы знаем, что принудительное обновление до последней версии может вызвать некоторые проблемы с воспроизводимостью дефектов., но мы готовы пойти на этот риск.Наши утилиты - это действительно тестовые продукты.
Будем благодарны за любые указания и помощь.
Редактировать: Мы запускаем наши тесты, используя maven цели clean install
.Поэтому они используют существующие пом.Мы хотим, чтобы обновление зависимостей происходило до запуска тестов.Также желательно зафиксировать изменения в системе контроля версий (bitbucket), если это возможно.У нас есть настройка тестов с использованием Jenkins, но команды также проводят несколько тестов на локальных машинах.
Редактировать: Нашел ответ на # 1.Плагин позволяет исключить регулярное выражение для группы и идентификатора артефакта.используя теги excludes
и excludesList