我刚刚从2.5.1升级到GWT 2.6.1,无法再让IntelliJ模式在IntelliJ中工作了。我知道序列化策略文件没有部署的问题。我们已经将这个补丁纳入我们的项目,而我们仍然在2.5.1,它正在工作。当我们升级时,我们删除了该代码,但看起来还有其他错误。
这是日志的开头
May 16, 2014 8:18:57 PM com.google.appengine.tools.development.ApiProxyLocalImpl log
INFO: javax.servlet.ServletContext log: Key[type=com.gwtplatform.dispatch.server.guice.DispatchServiceImpl, annotation=[none]]: ERROR: The serialization policy file '/scheduler/D766C158B6993C3FAA63D10E1B5BAB34.gwt.rpc' was not found; did you forget to include it in this deployment?
May 16, 2014 8:18:57 PM com.google.appengine.tools.development.ApiProxyLocalImpl log
INFO: javax.servlet.ServletContext log: Key[type=com.gwtplatform.dispatch.server.guice.DispatchServiceImpl, annotation=[none]]: Downloaded serialization policy from http://localhost:9876/policies/D766C158B6993C3FAA63D10E1B5BAB34.gwt.rpc
May 16, 2014 8:18:57 PM com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException: Type 'net.bookedin.bam.shared.rpc.CheckSessionResult' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = net.bookedin.bam.shared.rpc.CheckSessionResult@538f4b5f
所以看起来它找不到序列化策略文件但是当我导航到http://localhost:8888/scheduler/D766C158B6993C3FAA63D10E1B5BAB34.gwt.rpc
时,文件就在那里。
我已经清除了我的IntelliJ缓存(多次)并运行了几次“mvn clean install”。清除了浏览器缓存并删除并重新创建了IntelliJ中的开发模式和超级开发模式配置。它可以很好地从Maven启动devserver。而现在,我已经没有选择了,我就是这样。
答案 0 :(得分:0)
我的代码就是问题所在。 CheckSessionResult返回一个User对象,我刚刚为它添加了一个EnumSet属性,我想它不能被序列化。我假设它是GWT,因为我在这个调用和另一个调用中都看到了序列化错误,但它们都返回了User对象。