После добавления новой библиотеки в проде NoSuchMethodError в чужом коде
Проект использует jackson-databind 2.17 через Spring Boot. Добавили SDK платёжного провайдера, который тянет транзитивно jackson-databind 2.9. Компиляция прошла, а в рантайме при сериализации падает NoSuchMethodError внутри Jackson.
Что произошло и как это найти?
- Maven оставил одну версию по правилу ближайшей в дереве; смотреть mvn dependency:tree
- В classpath попали обе версии, и JVM выбирает случайную при каждом запуске
- Компилятор не проверяет методы сторонних библиотек, нужно включить строгий режим
- SDK провайдера несовместим с Java 21 и должен быть удалён
