前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scala序列化(scala.pickling)在2.12版本的编译和测试

Scala序列化(scala.pickling)在2.12版本的编译和测试

原创
作者头像
sparkexpert
发布2017-12-29 12:01:56
8230
发布2017-12-29 12:01:56
举报

ScalaPickling(https://github.com/scala/pickling)是一个用于Scala对象序列化的好工具。它是scala的顶级开源项目之一。

然而该程序包当前并不支持scala的2.12版本,刚好系统scala升级到2.12版本,因此拟自己对其进行实现一下。具体编译过程中还是有不少的BUG。

主要修正的BUG如下:

(1)需要添加引用:“scala-parser-combinators_2.12-1.0.6.jar”,这个包在scala安装路径的lib环境下可以找到。主要用于解决import scala.util.parsing.json._这个引用找不到的问题。

(2)需要scala.concurrent.util. Unsafe这个类

(3)JDK环境建议为1.8环境。

根据上述编译步骤,程序顺利通过。

对该包进行测试,如下:

case class Person(name: String, age: Int)

object PickleSample{

def main(args:Array[String]):Unit = {

println("封装测试...")

val originperson = Person("foo", 20)

val pkl = originperson.pickle

println(pkl.value)

println("还原测试...")

val person = pkl.unpickle[Person]

println(person.name)

println(person.age)

}

}

测试结果输出如下:

2017-12-29_114207.png
2017-12-29_114207.png

代码将公开在我的github(https://github.com/ndscigdata?tab=repositories)中,敬请关注。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档