虽然我已经注册了

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/

10-13 09:11