Ответ
Эта проблема обычно вызвана несоответствием версий или конфликтами зависимостей.
Алгоритм диагностики и решения:
- Проверить документацию библиотеки. Убедиться, что метод существует в указанной вами версии.
- Анализировать дерево зависимостей на предмет конфликтов.
- Maven:
mvn dependency:tree -Dincludes=groupId:artifactId - Gradle:
gradle dependenciesилиgradle :<module>:dependencies
- Maven:
- Исключить транзитивные зависимости, которые переопределяют нужные классы.
<!-- Пример в Maven --> <dependency> <groupId>com.example</groupId> <artifactId>main-lib</artifactId> <version>2.0</version> <exclusions> <exclusion> <groupId>conflicting-group</groupId> <artifactId>conflicting-artifact</artifactId> </exclusion> </exclusions> </dependency> - Явно указать корректную версию проблемной библиотеки в своем
pom.xmlилиbuild.gradle, чтобы переопределить транзитивную зависимость.
Частая причина: Разные библиотеки могут зависеть от несовместимых версий одной и той же базовой библиотеки (например, Guava или Jackson). Решение — привести все к одной совместимой версии.