2012-04-28 127 views
1

我是GWT新手。我已經設法完成關於如何構建簡單StockWatcher應用程序的教程。 現在,我想從服務器加載數據。在閱讀GWT中許多不同的方法之後,我決定使用RequestFactory,因爲它顯然是編寫可維護應用程序最有效的方式。GWT RequestFactory入門

問題是,沒有關於RequestFactory的教程,並且當您知道當我使用像GWT這樣的新工具時,它更難以管理,Eclipse已經夠難管理了。

我設法找到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 repository

任何幫助將是偉大的。 我會盡力讓一個帖子,一旦我設法得到這個工作,以便其他人可以使用它。

謝謝, 伊多。

+0

我設法得到一個新的錯誤消息:嚴重:您可以在編譯期使用Maven自動運行RequestFactory ValidationTool無法調用方法getNum JA va.lang.IllegalArgumentException:對象不是聲明類的實例 – 2012-04-28 14:01:08

+0

Stacktrace?這個錯誤可能是**任何**。 – 2012-04-29 19:23:14

回答

1

我明白這一點。對象不是聲明類的實例,意味着我們試圖在對象上調用實例方法,該方法不是聲明方法的類型。

我的錯誤是,在我的ServiceLocator實現中,我錯誤地返回了我的域模型對象(StockQuote)的實例,而不是DAO(StockQuoteDao)。這會導致RequestFactory代碼嘗試和調用StockQuote實例上的StockQuoteDao.getNum方法。

伊多。

0

而且

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