我正在使用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
我该如何解决?