В моем случае я столкнулся с этой ошибкой таким образом. pom.xml
моего проекта определили две зависимости A
и B
. И оба A
, и B
определяют зависимость от того же артефакта (назовите его C
), но разные версии его (C.1
и C.2
). Когда это произойдет, для каждого класса в C
maven может выбрать только одну версию класса из двух версий (при создании uber-jar ). Он выберет «ближайшую» версию на основе своих правил посредничества и выведет предупреждение «У нас есть повторяющийся класс ...» Если изменяется подпись метода / класса
Дополнительно: Если A
должен использовать v1 из C
, а B
должен использовать v2 из C
, то мы должны переместить C
в poms A
и B
, чтобы избежать конфликта классов (у нас есть предупреждение о повторяющихся классах) при построении окончательного проекта, который зависит как от обоих A
и B
.