@ Клемент Р дал вам очень хороший ответ. Обратите внимание, что этого может быть недостаточно для многомодульных проектов.
Цель depedndencyconvergence плагина принудительного применения знает, как обнаруживать транзитивные коллизии зависимостей, но коллизия может скрывать себя другим способом.
Предположим, у вас есть многомодульный проект. Корень - это A, и он имеет 2 подмодуля, B1 и B2.
B1 объявляет зависимость от артефакта a: b: c: 1.1 , а B2 объявляет зависимость от артефакта a: b: c: 2,0
В этом случае, если оба модуля построены и развернуты со своими зависимостями - у вас возникнет коллизия, но это тот тип, который подключаемый модуль не знает, как его обнаружить. Поскольку проект А не зависит (не может) от своих подмодулей.
Чтобы преодолеть эту проблему в нашей организации, мы использовали плагин зависимости: список и проанализировали его вывод вручную.
Грубое описание процесса. Результатом выполнения этой цели является список всех переходных зависимостей всех проектов в иерархии проектов. Затем мы анализируем выходные данные, сортируем зависимости и ищем только те артефакты, которые отличаются только идентификатором версии. Это требует некоторых сценариев в вашей CI env, но пока это единственный способ получить общую картину.