Я работаю над проектом GWTP + GAE, основанным на примере CarStore, предоставленном ArcBees. Зависимости от Maven взяты из этого проекта. Моя текущая версия GWTP: 1.5-SNAPSHOT.Ошибка NoSuchMethodFound: ошибка зависимости в GWTP. Использование ResourceDelegate
Проект прекрасно компилируется. Но когда я запускаю его, я stucked в этой ошибке:
[ERROR] Error injecting com.gwtplatform.dispatch.rest.delegates.client.ResourceDelegate<com.rmideas.sportbinder.shared.api.SessionResource>:
Unable to create or inherit binding: No @Inject or default constructor found for com.gwtplatform.dispatch.rest.delegates.client.ResourceDelegate<com.rmideas.sportbinder.shared.api.SessionResource>
Ошибка относится к ResourceDelegate объявлен в LoginPresenter. Но я не могу найти что-то не так в моем коде.
Я проанализировал StackTrace и нашел эту причину:
[INFO] Caused by: java.lang.NoSuchMethodError: com.gwtplatform.dispatch.rest.rebind.events.RegisterGinBindingEvent.postSingleton(Lcom/google/common/eventbus/EventBus;Lcom/gwtplatform/dispatch/rest/rebind/utils/ClassDefinition;Lcom/gwtplatform/dispatch/rest/rebind/utils/ClassDefinition;)
[INFO] at com.gwtplatform.dispatch.rest.delegates.rebind.DelegateGenerator.maybeRegisterGinBinding(DelegateGenerator.java:162)
Это относится к вызову между двумя объектами класса. DelegateGenerator является вызывающим и получается из этой зависимости:
<dependency>
<groupId>com.gwtplatform.extensions</groupId>
<artifactId>dispatch-rest-delegates</artifactId>
<version>${gwtp.version}</version>
<scope>provided</scope>
</dependency>
И RegisterGinBindingEvent является приемником. Она принадлежит здесь:
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-dispatch-rest</artifactId>
<version>${gwtp.version}</version>
<scope>provided</scope>
</dependency>
Теперь это происходит в строке 162 DelegateGenerator:
RegisterGinBindingEvent.postSingleton(eventBus, definition, getClassDefinition());
Это не должно быть проблемой, но клавиша eventBus посылает как первый параметр имеет различного типа в обоих классах.
DelegateGenerator имеет этот оператор импорта:
import com.google.common.eventbus.EventBus;
И RegisterGinBindingEvent имеет этот класс EventBus:
import com.gwtplatform.dispatch.rest.rebind.utils.EventBus;
Я думаю, что это является причиной проблемы. Обе зависимости используют одну и ту же версию (1.5-SNAPSHOT). Если я понижу версию до 1.4, это не произойдет. Но у этого все еще есть проблемы с запуском ResourceDelegate с этим кодом.
Кто-нибудь знает, что я делаю неправильно? Или если это ошибка?