com.google.gwt.view.client.Range 的 GWT SerializationException

Posted

技术标签:

【中文标题】com.google.gwt.view.client.Range 的 GWT SerializationException【英文标题】:GWT SerializationException for com.google.gwt.view.client.Range 【发布时间】:2015-01-14 16:26:56 【问题描述】:

我在 Tomcat 7 服务器上间歇性地遇到此问题。大多数情况下它都有效,并且似乎与代码更改无关。例如。今天服务器重新启动,我们开始看到与过去两周完全相同的战争的问题。在 GWT 2.6 和 2.7 中观察到了这一点

com.google.gwt.user.client.rpc.SerializationException: Type 'com.google.gwt.view.client.Range' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = Range(0,20)

它有一个用于引用 RPC 的空构造函数的 javadoc:

/**
 * The range of interest for a single handler.
 */
public class Range implements Serializable 

   private int length;
   private int start;

   ...

   /**
    * Used by RPC.
    */
    Range() 
    

【问题讨论】:

【参考方案1】:

对于在 GWT 中用于服务器和客户端之间通信的类,我建议使用 IsSerializable 而不是 Serializable。

您是否尝试过,问题是否仍然存在?

【讨论】:

这是一个 GWT 类:com.google.gwt.view.client.Range 正在考虑扩展它并使其成为 IsSerializable 哦,那是GWT的内置类型。所以这根本不应该发生。我认为这发生在您的 GWT 项目编译期间。可能 WAR 文件中的某些 GWT 类在您的服务器上已损坏。您可以尝试在 Tomcat 中取消部署 WAR 存档,重新启动服务器并重新部署它。此外,Tomcat 错误日志可能会给您一些提示。 客户端得到一个500,上面的sn -p是服务器日志。我应该试试GWT forum

以上是关于com.google.gwt.view.client.Range 的 GWT SerializationException的主要内容,如果未能解决你的问题,请参考以下文章