2015-04-15 2 views
1

Я работаю над проектом 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 с этим кодом.

Кто-нибудь знает, что я делаю неправильно? Или если это ошибка?

ответ

0

Спасибо за использование снимков.

По какой-то причине CI не установил моментальный снимок для последних коммитов. Теперь это должно быть исправлено. Можете ли вы попробовать другую сборку? Добавьте -U в свою командную строку maven, чтобы убедиться, что вы захватили последний моментальный снимок.

Смежные вопросы