Databricks Scala net.liftweb.json parse()无法初始化错误

时间:2018-11-28 21:29:42

标签: scala lift databricks azure-databricks

我在网络上找不到任何其他相关内容。 我尝试了两个版本的Lift 2.12和2.10

我的集群/笔记本在Apache Spark 2.3和Scala 2.11中

此代码

import net.liftweb.json.DefaultFormats
import net.liftweb.json._
​
val s = """{"steve":"toby"}"""
val j = parse(s)

这个错误

java.lang.NoClassDefFoundError: Could not initialize class net.liftweb.json.package$

任何帮助表示赞赏。我找不到任何积极的方式来影响这一点。

1 个答案:

答案 0 :(得分:2)

我已添加libraryDependencies += "net.liftweb" %% "lift-json" % "3.3.0"

下面是相同的代码

 import net.liftweb.json._
 val s = """{"steve":"toby"}"""
 val j = parse(s) //j: net.liftweb.json.JValue = JObject(List(JField(steve,JString(toby))))

您是否在这里缺少net.liftweb.json._,因为object有两个json文字,package有一个,所以我们必须使用package一个。 让我知道是否有帮助。

修改

要在 databricks 中添加liftweb-json,您必须以maven的身份进入“工作区->创建->库-> [选择源]”,然后 搜索软件包< / em> ,然后在重新启动集群后添加,然后尝试运行您的笔记本。

然后尝试运行以下代码

package example
import net.liftweb.json._
import org.apache.spark._
object BasicParseJson {
def main(args: Array[String]) {
val s = """{"steve":"toby"}"""
val j = parse(s)
// try to log your j value and check
}
}