com.esotericsoftware.kryo.KryoException:无法创建类(缺少无参数构造函数):scala.Tuple2
问题描述:
我无法通过在scala上使用Kryo进行序列化的最简单示例。 我需要为此注册一个特定的序列化程序吗? 感谢com.esotericsoftware.kryo.KryoException:无法创建类(缺少无参数构造函数):scala.Tuple2
val kryo = new Kryo()
kryo.setRegistrationRequired(false)
kryo.register(classOf[scala.Tuple2[Any, Any]])
val intstringtuple = (100, "somestring")
val outStream = new ByteArrayOutputStream()
val output = new Output(outStream)
kryo.writeClassAndObject(output, obj)
output.flush()
val input = new com.esotericsoftware.kryo.io.Input(new ByteArrayInputStream(outStream.toByteArray))
val obj1 = kryo.readClassAndObject(input)
答
添加类似下面的解决了这个问题:
kryo.register(classOf[scala.Tuple2[Any, Any]], new com.twitter.chill.Tuple2Serializer)