java.io.InvalidClassException:本地类不兼容

时间:2019-06-25 10:57:39

标签: java spring serialization

我正在使用Spring4.x。我在以下课程中添加了一个新字段“ locale”。

public class UserInfo implements Serializable {

    public UserInfo(String value){
        GUID = value;
    }
    private String GUID;

    private String customerID;
    private String locale;

    // getter setters

}

添加此字段并尝试使用obj.toString()进行访问

@Override
public String toString() {
    return "UserInfo [GUID=" + GUID + ", customerID=" + customerID+ "]";
}

我遇到以下异常:

  

com.test.proj.filter.RequestFilter-的doFilter异常   请求无法从类型[byte []]转换为类型   [java.lang.Object]的值为'{-84,-19,0,5,115,114,0,...}';   嵌套异常为   org.springframework.core.serializer.support.SerializationFailedException:   无法反序列化有效负载。字节数组是   DefaultDeserializer的相应序列化?嵌套异常   是java.io.InvalidClassException:com.test.proj.connector.UserInfo;   本地类不兼容:流classdesc serialVersionUID =   -1101705427478021141,本地类serialVersionUID = 7349851230898665510

然后我将serialVersionUID添加到该类:

private static final long serialVersionUID = 1L;

然后它给了我例外:

  

com.test.proj.filter.RequestFilter-的doFilter异常   请求无法从类型[byte []]转换为类型   [java.lang.Object]的值为'{-84,-19,0,5,115,114,0,...}';   嵌套异常为   org.springframework.core.serializer.support.SerializationFailedException:   无法反序列化有效负载。字节数组是   DefaultDeserializer的相应序列化?嵌套异常   是java.io.InvalidClassException:com.test.proj.connector.UserInfo;   本地类不兼容:流classdesc serialVersionUID = 1,本地   类serialVersionUID = -1101705427478021141

我该如何解决?

0 个答案:

没有答案