2016-05-23 2 views
0

У меня есть метод, определенный с вар аргNoSuchMethodError при вызове метода с вар арг

public static void myMethod(String sourceClass, String sourceFunction, 
     String message, Object... args) { 

} 

Я называю этот метод двумя способами.

  1. myMethod(className, methodName, "List of all users : {}", userLists);

  2. myMethod(className, methodName, "consumers of reqID : {} are : {}", reqID, userLists);

я не получил какой-либо ошибки компиляции, но во время выполнения, я получил ниже ошибки для второго вызова метода в то время как первый вызов метода выполнен успешно.

java.lang.NoSuchMethodError: com.example.MyClass.myMethod(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V at

UPDATE

После отладки, я мог бы иметь возможность проследить причину и устранить ее.

'myMethod' относится к разной тематике. , когда я скомпилировал код приложения, существовал еще один нижеперечисленный метод наряду с вышеупомянутым.

public static void myMethod(String processName, String sourceClass, String sourceFunction, 
    String message, Object... args) { 

} 

Позже этот перегруженный метод удаляется и регенерирует банку и эта окончательная версия добавляется в войне П.

Фикс Я сделал это:

Я снова скомпилирован мой код приложения с этой окончательной версии и она решена.

+0

Просто используйте один объект переменной длины. Вы можете проверить длину и позже нарисовать –

+0

напечатать больше своего стека и добавить код в стек, который вызывает myMethod – andy

+0

Эта ошибка означает, что вы работаете с другой версией класса, чем версия, скомпилированная вами. – VGR

ответ

1

Очистите свой проект и попытайтесь построить его снова. Также вы можете полагаться на файл JAR для компиляции и использования другой версии во время выполнения.

+0

Такая же версия jar поставляется в WAR. – kswaughs

+0

Вы проверили путь к классам? Просто пытаюсь разобраться в проблеме на один шаг за раз. –

0

попробовать это

myMethod("ClassName", "methodName", "message", new InstanceOfClass()); 
Смежные вопросы