GWT序列化问题

Edd*_*ddy 7 gwt serialization

我有一段时间返回通过RPC实现IsSerializable的对象的ArrayList.IsSerializable pojo包含一个变量,一个String,并且有一个0参数构造函数.我从战争中删除了.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)
Run Code Online (Sandbox Code Playgroud)

我正在使用GWT 2.0.2和jdk 1.6.0_18.

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

这是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;
    }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助!涡流

use*_*270 5

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


tgd*_*ies 1

远程方法需要返回ArrayList<Test>,而不仅仅是ArrayList,以便 GWT 知道 的实例Test需要被序列化。