Это также может быть результатом использования отражения. Если у вас есть код, который отражает класс, и извлекает метод по имени (например: с Class.getDeclaredMethod("someMethodName", .....)
), то в любое время, когда имя метода изменяется, например, во время рефакторинга, вам нужно будет помнить, чтобы обновить параметры до метода отражения для соответствия новой сигнатуре метода, или вызов getDeclaredMethod
вызовет NoSuchMethodException
.
. Если это причина, то трассировка стека должна показывать точку, в которой используется метод отражения, и вы Вам просто нужно обновить параметры, чтобы они соответствовали фактической сигнатуре метода.
По моему опыту это иногда возникает при модульном тестировании частных методов / полей и использовании класса TestUtilities
для извлечения полей для проверки теста. (Как правило, с устаревшим кодом, который не был разработан с учетом модульного тестирования.)