serialization - GWT 序列化问题

标签 serialization gwt

我有一段时间返回一个通过 RPC 实现 IsSerializable 的对象的 ArrayList。 IsSerializable pojo 包含一个变量,一个字符串,并有一个 0 参数构造函数。我已经从我的 war 中删除了 .gwt.rpc 文件,但我仍然得到:

com.google.gwt.user.client.rpc.SerializationException: Type 'com.test.myApp.client.model.Test' 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 = com.test.myApp.client.model.Test@17a9692
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:610)

我正在使用带有 jdk 1.6.0_18 的 GWT 2.0.2。

关于可能发生的事情或我做错了什么的任何想法?

这是 Test 类的代码,远程方法返回 ArrayList。我什至修改了它的代码,只返回一个具有相同结果的 Test 实例:上面的异常。
package com.test.myApp.client.model;

import com.google.gwt.user.client.rpc.IsSerializable;

public class Test implements IsSerializable{
    private String s;

    public Test() {}

    public Test(String s) {
        this.s = s;
    }

    public String getS() {
        return s;
    }

    public void setS(String s) {
        this.s = s;
    }
}

非常感谢您的帮助!涡流

最佳答案

这听起来可能很愚蠢,但是您的代码中是否有 Test 的默认构造函数,而不仅仅是您在此处发布的代码版本?我遇到了同样的错误,用谷歌搜索,在这里尝试了几个建议,比如清理/重建,添加 serialVersionUID,但都没有奏效。然后我搜索了更多并找到了一个建议,以确保您尝试序列化的类具有默认构造函数。我的没有,一旦我添加了一个,它就起作用了。我不知道为什么那修复了它,但确实如此。

关于serialization - GWT 序列化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2862391/

相关文章:

json - 在 Swift 中将字典转换为 JSON

java - Gson 无法使用自定义序列化程序进行反序列化

python - 保存/加载带有常量的 keras 模型

java - GWT i18n HTML 文件

php - 优化提示和技巧

java - GWT:从服务器端获取语言环境信息?

jquery - 如何在 django 中序列化字典以在 Jquery 中呈现 [问题级别 - 初学者]

python - 搁置:数据库的选择

gwt - FindBugs 通过 GWT 项目在 Jenkins 中给出错误

GWT-Button 作为超链接