我使用XStream序列化实现接口的对象“A”:
interface MyInterface {
String functionA();
}
MyInterface a = new MyInterface() {...}
现在界面发生了变化,我添加了另一个功能:
interface MyInterface {
String functionA();
String functionB();
}
尝试反序列化它现在失败(列出的异常),因为界面发生了变化 - 但是我可以让它以某种方式工作吗?
这是一个例外:
com.thoughtworks.xstream.mapper.CannotResolveClassException: com.cf.TestSaveSerialization$1 : com.cf.TestSaveSerialization$1
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:68)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:38)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:71)
我看过XStream FAQ,但没有改变功能。有什么想法吗?
答案 0 :(得分:1)
这听起来更像是匿名类的问题,而不是XStream或序列化机制本身。这些是真正的签名吗?您是否尝试更改命名类(非匿名类)的签名?