Если проект Maven транзитивно использует несколько версий библиотеки, посредник зависимостей Maven будет проводить арбитраж по ближайшему определению и порядку в объявлении. (См. документы.)
Например. если A -> B -> X-1.0.0 и A -> B -> C -> X-2.0.0, то в здании A будет использоваться X-1.0.0.
Почему? Разумно предположить, что X-2.0.0 добавил какой-то метод, который используется C, поэтому запуск A, вероятно, вызовет исключение времени выполнения. Разве не имеет смысла выбрать самую новую версию? (Я знаю, что вы можете указать это вручную.)