1

我是 GWT 的新手。我已经完成了有关如何构建简单 StockWatcher 应用程序的教程。现在,我想从服务器加载数据。在阅读了在 GWT 中执行此操作的许多不同方法后,我决定使用 RequestFactory,因为显然它是编写可维护应用程序的最有效方式。

问题是没有关于 RequestFactory 的教程,而且当你知道时,Eclipse 很难管理,当我使用像 GWT 这样的新工具时,管理起来就更难了。

我已经设法找到 RequestFactory 所需的不同罐子,例如

  1. gwt-servlet.jar
  2. gwt-servlet-deps.jar
  3. requestfactory-server.jar

现在我收到以下错误:

java.lang.RuntimeException: The RequestFactory ValidationTool must be run for the com.google.gwt.sample.stockwatcher.shared.service.StockWatcherRequestFactory RequestFactory type

我什至也为此找到了方向:RequestFactoryInterfaceValidation ,但它仍然无法正常工作。

我已将 com.google.web.bindery.requestfactory.apt.ValidationTool 添加到我的构建路径中,它似乎有帮助(消息消失了),但后来我收到了不同的错误消息。

我已将源推送到github 存储库

任何帮助都会很棒。一旦我设法让它工作,我会尝试发表一篇文章,以便其他人可以使用它。

谢谢你,伊多。

4

3 回答 3

1

我想通了。对象不是声明类的实例意味着我们尝试在对象上调用实例方法,该对象不是声明该方法的类型。

我的错误是,在我的 ServiceLocator 实现中,我错误地返回了我的域模型对象 (StockQuote) 而不是 DAO (StockQuoteDao) 的实例。这会导致 RequestFactory 代码尝试在 StockQuote 实例上调用 StockQuoteDao.getNum 方法。

我愿意。

于 2012-04-30T10:30:55.387 回答
0

如果您使用 Eclipse 的谷歌插件,请使用此 http://vivagwt.blogspot.com/2011/09/requestfactory-en-gwt-24.html 每次更改 requestcontext 时都需要重建项目

注意:如果使用 RPC,则需要 gwt-servlet.jar

于 2012-06-04T22:23:26.050 回答
0

RequestFactory ValidationTool您也可以在编译阶段使用 maven自动运行:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <forceJavacCompilerUse>true</forceJavacCompilerUse>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.google.web.bindery</groupId>
            <artifactId>requestfactory-apt</artifactId>
            <version>2.6.1</version>
        </dependency>
    </dependencies>
</plugin>
于 2014-07-02T13:21:29.663 回答