2010-12-05 34 views
2

我剛剛嘗試了與roo-1.1.0捆綁在一起的gwtNoEntities示例。roo示例gwtNoEntities無法加載

當啓動使用tomcat:運行,或碼頭:運行,我只得到加載框。

在GWT託管模式下運行時,我得到客戶端中報告的以下堆棧跟蹤,
這看起來與使用瀏覽器歷史記錄設置默認位置有關,該錯誤爲空。

解決這個問題的正確方法是什麼?

堆棧跟蹤

00:02:08.323 [ERROR] Unable to load module entry point class com.springsource.foo.client.scaffold.Scaffold (see associated exception for details) 
    java.util.NoSuchElementException: null 
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796) 
at java.util.HashMap$KeyIterator.next(HashMap.java:828) 
at com.springsource.foo.client.scaffold.ScaffoldDesktopApp.init(ScaffoldDesktopApp.java:139) 
at com.springsource.foo.client.scaffold.ScaffoldDesktopApp.run(ScaffoldDesktopApp.java:61) 
at com.springsource.foo.client.scaffold.Scaffold.onModuleLoad(Scaffold.java:19) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)  at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183) 
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510) 
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) 
at java.lang.Thread.run(Thread.java:619) 

在問題生成的代碼

/* Browser history integration */ 
ScaffoldPlaceHistoryMapper mapper = GWT.create(ScaffoldPlaceHistoryMapper.class); 
mapper.setFactory(placeHistoryFactory); 
PlaceHistoryHandler placeHistoryHandler = new PlaceHistoryHandler(mapper); 
/* 139 */ ProxyListPlace defaultPlace = getTopPlaces().iterator().next(); 
placeHistoryHandler.register(placeController, eventBus, defaultPlace); 
placeHistoryHandler.handleCurrentHistory(); 

回答

1

你可以在下面的(線139)

while (getTopPlaces().iterator().hasNext()) { 
    ProxyListPlace defaultPlace = getTopPlaces().iterator().next(); 
    placeHistoryHandler.register(placeController, eventBus, defaultPlace); 
    placeHistoryHandler.handleCurrentHistory(); 
} 
與while條件塊替換所生成的代碼

r用mvn編譯進行編譯,用mvn gwt:run重新啓動。現在你應該沒有錯誤,但空的頁面。

gwtNoEntities.roo示例沒有數據。你可以嘗試像expense.roo這樣的其他例子。生成的代碼應該沒問題。

請記住接受答案,如果有幫助。

謝謝。

+0

該修復工作,但GWT客戶端只顯示當我從mvn gwt運行它:運行,而不是從mvn tomcat:運行或mvn碼頭:運行。我嘗試使用firefox-3和IE-7。 – crowne 2010-12-06 12:28:17