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