0

我得到了一个应该序列化的对象。Atm 我让它实现 Serializable 但在运行时我得到一个

Failed to marshal object with optimized marhshaller:{ $heresAhugeString$ }
Failed to serialize object: { $alsoHugeString$ } 
java.io.IOException: Externalizable class doesn't have default constructor: interface java.io.Externalizable 
Externalizable class doesn't have default constructor: interface java.io.Externalizable
java.io.Externalizable.<init>()   

最后一个异常(java.io.Externalizable.() 无限次出现) 我试图找到不可序列化的字段,但我只能看到它在序列化 ConcurrentHashMap 时引发异常。我知道这不是很多信息,但完整的堆栈跟踪非常大。任何提示如何找出地图中的哪个字段负责非序列化?或者我应该添加哪些信息?问候

4

1 回答 1

-1

我不知道你在做什么类型的反序列化,但是如果你解组后不需要使用这个字段,那么你必须将它设置为transient.

transient如果您使用 Java 序列化,或者@Transient如果您使用 JPA,或者即使@JsonIgnoreProperties您使用 Jackson ,则可以使用java 关键字

于 2017-03-14T15:18:59.950 回答