NoSuchMethodFound error: dependency error in GWTP. ResourceDelegate usage

NoSuchMethodFound error: dependency error in GWTP. ResourceDelegate usage

我正在基于 ArcBees 提供的 CarStore 示例的 GWTP + GAE 项目中工作。 Maven 依赖项也取自该项目。我当前的 GWTP 版本是 1.5-SNAPSHOT.

该项目编译得非常好。但是当我 运行 它时,我陷入了这个错误:

[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>

错误是指在 LoginPresenter 中声明的 ResourceDelegate。但是我在我的代码中找不到任何错误。

我分析了堆栈跟踪并发现了这个原因:

[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)

这是指两个Class对象之间的调用。 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>

现在,这发生在 DelegateGenerator 的第 162 行:

RegisterGinBindingEvent.postSingleton(eventBus, definition, getClassDefinition());

这应该不是问题,但是 eventBus 作为第一个参数发送的键在两个 class 中属于不同的类型。

DelegateGenerator 有这个导入语句:

import com.google.common.eventbus.EventBus;

RegisterGinBindingEvent 有这个 EventBus class:

import com.gwtplatform.dispatch.rest.rebind.utils.EventBus;

我想这是导致问题的原因。两个依赖项都使用相同的版本 (1.5-SNAPSHOT)。如果我将版本降级到 1.4,就不会发生这种情况。但它仍然有问题 运行ning ResourceDelegate 与此代码。

有谁知道我做错了什么?或者这是一个错误?

感谢您使用快照。

出于某种原因,CI 没有为最后一次提交部署快照。这现在应该是固定的。你能试试另一个版本吗?将 -U 添加到您的 maven 命令行以确保您获取最新的快照。