Сопоставляет отсутствующий метод с фактически выбранной версией jar
Зачем
Зачем это нужно
Находит обе транзитивные ветки и владельцев несовместимых ограничений
Фиксирует общую версию централизованно, не дублируя её в каждом модуле
Вопросы
Частые вопросы
Почему компиляция проходит, а приложение падает при запуске?
Компилятор видел один набор классов, а runtime загрузил другую версию из итогового classpath. NoSuchMethodError — типичный признак бинарной несовместимости. Модель сравнит дерево обычных и runtime-зависимостей, а также содержимое собранного артефакта, чтобы найти реально загруженный jar.
Можно ли просто исключить старую зависимость?
Только если библиотека, которая её принесла, совместима с оставшейся версией. Слепое exclusion убирает конфликт из дерева, но может создать другой отсутствующий класс. Модель проверит диапазоны и changelog, предложит обновить родительскую библиотеку или использовать согласованный BOM там, где он поддерживается.
Зачем нужен dependencyManagement?
Он задаёт выбранные версии централизованно, особенно в многомодульном проекте, но сам не добавляет зависимость в каждый модуль. Модель перенесёт управление наверх и сохранит объявления только там, где библиотека реально используется. Так обновление не требует править десяток pom-файлов.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.