使用Scala play-json JsValue.as构建错误来解析字符串

时间:2017-02-07 15:47:56

标签: scala intellij-idea sbt sbt-assembly play-json

我正在使用scala play-json从一个简单的json对象解析键中的字符串

  

'{“test”:“value”,“hello”:“world”}'

我正在执行此操作的代码如下所示:

val columns = Json.parse(value).as[JsObject].keys.toList

我能够运行它并获得我想在IntelliJ中运行调试器的结果,所以我知道这段代码工作正常。但是,当我尝试在项目上运行sbt assembly时,出现构建错误

  

Validation.scala:126:对类文件'DefaultReads.class'中遇到的java.time的错误符号引用。

     

[error]无法访问包java中的术语时间。当前的类路径可能是   缺少java.time的定义,或者DefaultReads.class可能是针对某个版本编译的   与当前类路径中找到的不兼容。

     

[error] val values = Json.parse(value).as [JsObject] .keys.toList

我正在运行jdk 1.8.0_111所以我不应该在其他SO帖子上找到试图使用play-json库的问题。

我正在使用sbt版本0.13.13,scala版本2.11.0和(试图使用)play-json版本2.5.12

1 个答案:

答案 0 :(得分:0)

问题是我为项目设置了全局jdk intellij和jdk,但最近我将JAVA_HOME更改为jdk 1.7并且从未更改过它。

感谢您的回复!