Исключение NoSuchMethod, выброшенное в GWT
Я начинаю мокнуть в последнем Google Web Toolkit, используя плагин Eclipse для OS X 10.5.8. До сих пор я был в состоянии получить клиента и запустить, и это здорово.
Сервер, однако, это другое дело. Я пытаюсь сделать ссылку на файл.jar, в котором есть некоторые классы, которые я хочу использовать в серверном классе ServiceImpl, но, похоже, он упал на предыдущую итерацию.jar - я добавил метод, перестроил jar удалил банку из вкладки библиотеки на пути сборки проекта GWT (а также в экспорте) и снова включил банку. Не повезло - я все еще получаю:
[WARN] Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract org.gwtapplication.client.LWDocument org.gwtapplication.client.DocumentService.getDocument()' threw an unexpected exception: java.lang.NoSuchMethodError: org.externalmodel.MyReallyValidClass.toSomething()Ljava/lang/String;
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)
...
Caused by: java.lang.NoSuchMethodError: org.externalmodel.MyReallyValidClass.toSomething()Ljava/lang/String;
at org.application.server.DocumentServiceImpl.getDocument(DocumentServiceImpl.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
В смысле кода Eclipse нет проблем с разрешением вызова MyReallyValidClass.toSomething(), и нет ошибок с другими вызовами в классы externalmodel. Любая подсказка, где я должен искать?
1 ответ
В вашем DocumentServiceImpl
класс, добавив следующий журнал:
System.out.println(Thread.currentThread().getContextClassLoader().getResource("org/externalmodel/MyReallyValidClass.class");
должен сказать вам, где эта банка достается.