Получили ошибку NoSuchMethodError в одном из наших классов простым методом получения. Странно то, что мы можем отлаживать код и видеть, что ошибка возникает в отладчике (переступая через соответствующую строку), однако мы также можем использовать IDE (IntelliJ IDEA), чтобы увидеть, что метод существует.
Выполнение xxxx.getYYY()
оценивает штраф через оценщик выражений IDE. И, взяв xxxx.getClass().getMethods()
, мы увидим метод getYYY()
в списке. Мы попытались очистить все встроенные файлы, выходные каталоги IDE, кэши IDE, перезагрузку и т. Д., И, похоже, ничего не помогло.
Я бы понял, что NoSuchMethodError произошел бы, если бы мы скомпилировали что-то, но тогда во время выполнения был найден другой Jar / класс. Но это не объясняет мне, почему во время выполнения во время отладки до рассматриваемой строки мы можем видеть, что метод есть, но переход по строке вызывает исключение.
Пробовал воспроизводить на другой машине, но не воспроизводит.
Кто-нибудь знает, что здесь может происходить?