如何解决com.thoughtworks.xstream.core.BaseException:本地类不兼容:流类desc serialVersionUID
我正在尝试使用 com.thoughtworks.xstream.XStream 将字符串转换为 xml。
转换后的 xml 在开头和结尾都有 <string></string>
标记。
我正在使用 replaceAll(xstreamXML.toXML(sq).replaceAll("","").replaceAll("","") 删除它。然后我压缩这个 xml 并通过网络发送
public static String convertToZipFormat(String object){
String sqResponseZipped = null;
ObjectOutputStream objectOutputStream = null;
GZIPOutputStream gzipOut = null;
CheckServiceCoverageResponse obj = null;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
XStream xstreamXML = new XStream();
String xmlInputResponse=xstreamXML.toXML(object).replaceAll("<string>","").replaceAll("</string>","").replaceAll("<","<").replaceAll(">",">").replaceAll("'","'").replaceAll(""","\"");
try {
gzipOut = new GZIPOutputStream(byteArrayOutputStream);
objectOutputStream = new ObjectOutputStream(gzipOut);
objectOutputStream.writeObject(xmlInputResponse);
objectOutputStream.close();
gzipOut.close();
byte[] sqResponseByte = byteArrayOutputStream.toByteArray();
Base64 base64Encoder = new Base64(-1);
sqResponseZipped = base64Encoder.encodeToString(sqResponseByte);
return sqResponseZipped;
}catch (IOException e) {
e.getMessage();
}
}
通过网络发送时,出现以下异常
com.thoughtworks.xstream.core.BaseException; local class incompatible: stream classdesc serialVersionUID
。
但是当我删除 .replaceAll("<string>","")
并保留 replaceAll() 的其余部分时,没有问题。
我需要删除字符串标签,否则无法解压缩并转换为另一侧的相应对象
异常堆栈跟踪:
Caused by: java.io.InvalidClassException: com.thoughtworks.xstream.core.BaseException; local class incompatible: stream classdesc serialVersionUID = 1543586517680882547,local class serialVersionUID = 3052261163727978067 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617) ~[na:1.7.0_51] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622) ~[na:1.7.0_51] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) ~[na:1.7.0_51] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622) ~[na:1.7.0_51] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) ~[na:1.7.0_51] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622) ~[na:1.7.0_51] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) ~[na:1.7.0_51] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) ~[na:1.7.0_51] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) ~[na:1.7.0_51] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) ~[na:1.7.0_51] at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500) ~[na:1.7.0_51] at java.lang.Throwable.readObject(Throwable.java:914) ~[na:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) ~[na:1.7.0_51] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893) ~[na:1.7.0_51] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) ~[na:1.7.0_51] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) ~[na:1.7.0_51] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) ~[na:1.7.0_51] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) ~[na:1.7.0_51] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) ~[na:1.7.0_51] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) ~[na:1.7.0_51] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) ~[na:1.7.0_51] at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:208) ~[weblogic.server.merged.jar:12.1.2.0.0] at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:602) ~[weblogic.server.merged.jar:12.1.2.0.0]
需要解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。