2013-01-23 140 views
3

如果客戶端代碼發生更改,我們可以刷新頁面以重新編譯並查看結果。它與GWT 2.4的工作很好GWT 2.5編譯錯誤

從GWT 2.5起,有一個問題。在頁面刷新時引發com.google.gwt.user.client.rpc.SerializationException。 如果我重新啓動Web應用程序並刷新頁面一切正常。所以它似乎是GWT中的一些錯誤。

的一些細節:(!)如果有什麼變化,

  1. ,拋出此異常,例如CSS文件
  2. 此異常往往拋出,但並非總是如此,有時它是確定。
  3. 實際的例外可能涉及幾乎任何類。在這個例子中它是java.lang.Integer。

com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:本 響應不能以 com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter反序列化.java:221) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) at com.google.gwt.http.client.RequestBuilder $ 1.onReadyStateChange(RequestBuilder.java: 395) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S (未知來源) com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java: 103) 在 com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 在 com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338) 在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219) 在 com.g oogle.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571) 在 com.google.gwt。 dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl .Impl.apply(Impl.java)維持在 太陽 com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242)在 sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)。 reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch .invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 在 com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer .java:293) at com。google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364) at java.lang.Thread.run (未知源)導致: com.google.gwt.user.client.rpc.SerializationException: java.lang.RuntimeException:無法找到類 com.google.gwt.user.client.rpc.core.java。 lang.Integer_FieldSerializer 在 com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:164) 在 com.google.gwt.user.client.rpc.impl.SerializerBase.instantiate (SerializerBase.java:114) at com.google.gwt.user.cli ent.rpc.impl.ClientSerializationStreamReader.deserialize在 com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119)(ClientSerializationStreamReader.java:396) 在 ru.minogin。 data.shared.model.BaseEntity_FieldSerializer.deserialize(BaseEntity_FieldSerializer.java:29) 在 ru.minogin.data.shared.model.OrderedEntity_FieldSerializer.deserialize(OrderedEntity_FieldSerializer.java:22) 在 ru.pickbook.shared.model。 Format_FieldSerializer.deserialize(Format_FieldSerializer.java:133) at ru.pickbook.shared.model.Format_FieldSerializer.deserial(Format_FieldSerializer.java:163) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java: 398) 在 com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) 在 ru.pickbook.shared.model.Album_FieldSerializer.deserialize(Album_FieldSerializer.java:105) 在 ru.pickbook.shared.model.Album_FieldSerializer.deserial(Album_FieldSerializer.java:141) 在 com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) 在 com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java :119) 在 ru.pickbook.shared.model.OrderItem_FieldSerializer.deserialize(OrderItem_FieldSerializer.java:48) 在 ru.pickbook.shared.model.OrderItem_FieldSerializer.deserial(OrderItem_FieldSerializer.java:75) 在 融爲一體。 google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializat ionStreamReader.java:398) 在 com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) 在 com.google.gwt.user.client.rpc.core。 java.util.Collection_CustomFieldSerializerBase.deserialize(Collection_CustomFieldSerializerBase.java:34) 在 com.google.gwt.user.client.rpc.core.java.util.HashSet_CustomFieldSerializer.deserialize(HashSet_CustomFieldSerializer.java:34) 在 融爲一體。 google.gwt.user.client.rpc.core.java.util.HashSet_FieldSerializer.deserial(HashSet_FieldSerializer.java:19) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase。的java:95) 在 com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:398) 在 com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader。的readObject(AbstractSerializationStreamReader.java:119) 在 ru.pickbook.shared.model.Order_FieldSerializer.deserialize(Order_FieldSerializer.java:152) 在 ru.pickbook.shared.model.Order_FieldSerializer.deserial(Order_FieldSerializer.java:196) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:95) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.de序列化(ClientSerializationStreamReader.java:398) 在 com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) 在 com.google.gwt.user.client.rpc。 impl.RequestCallbackAdapter $ ResponseReader $ 8.read(RequestCallbackAdapter.java:106) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:214) ... 28 more引起:java.lang.RuntimeException:無法找到 類 com.google.gwt.user.client.rpc.core.java.lang.Integer_FieldSerializer at com.google.gwt.user.client.rpc.impl.ReflectionHelper .loadClass(ReflectionHelper.java:93 ) at com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:160) ... 61 more引起:java.lang.ClassNotFoundException在 com.google.gwt。 dev.shell.CompilingClassLoader $ MultiParentClassLoader.findClass(CompilingClassLoader.java:368) 在 com.google.gwt.dev.shell.CompilingClassLoader $ MultiParentClassLoader.loadClass(CompilingClassLoader.java:388) 在java.lang.ClassLoader.loadClass (Unknown Source) java.lang.Class.forName0(Native Method)com.google.gwt.user.client.rpc.impl.ReflectionHelper.loadClass( ReflectionHelper.java:91) ... 62更多

+0

僅供參考,問題已在這裏報告https://groups.google.com/d/topic/google-web-toolkit/LE_TSOkGpVk/討論,但沒有人回覆。我不使用RPC,所以我無法幫助。 –

回答

4
-Dgwt.disableGeneratorResultCaching 
0

該錯誤不在GWT框架中,而是在瀏覽器插件中。它不應該發生在生產模式中。

如果可能,切換到SuperDev模式,您將擺脫例外。

+0

SuperDev模式並不理想,因爲您必須在瀏覽器中進行調試(我們大多數人使用IDE是有原因的)。 –

+0

您可以從IDE進行調試,但不能修改變量值。 –