虽然我已经注册了
private static inner class EntryWithID
kryo抛出
java.lang.IllegalArgumentException(未注册类:shared.SharedObjectFactory $ Segment $ EntryWithID
)。
kryo.register(Class.forName("shared.SharedObjectFactory$Segment$EntryWithID"));
kryo.register(Array.newInstance(Class.forName("shared.SharedObjectFactory$Segment$EntryWithID"), 0).getClass());
我猜,问题在于深度嵌套的内部类
EntryWithID
。我在注册时做错什么了吗? 最佳答案
您可以启用Kryo的跟踪日志并进行检查。
由于Kryo使用Minlog库进行日志记录,因此可以通过在源代码中添加com.esotericsoftware.minlog.Log.TRACE();
来启用跟踪级别日志。
启用TRACE级别日志将打印有关在Kryo中注册的所有类的详细信息。
关于java - Kryo类(class)注册,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31576169/