【问题标题】:Databricks Scala net.liftweb.json parse() cannot initial errorDatabricks Scala net.liftweb.json parse() 无法初始错误
【发布时间】:2019-04-30 21:21:24
【问题描述】:

我在网上找不到其他相关内容。 我用两个版本的 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$

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

【问题讨论】:

  • 你的类路径中有lift-json依赖吗?
  • 如何检查?如您所见,我在 Databricks 中。我从来不用检查 Databricks 上的类路径。
  • RajkumarNatarajan .
  • 它必须在类路径中。运行import net.litfweb.json._ 工作得很好。但是如果我故意破坏它并运行 import net.liXtfweb.json._ 崩溃 object iXftweb is not a member of package net

标签: scala lift databricks azure-databricks


【解决方案1】:

我已经加了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._,因为有两个json 文字,一个用于object,一个用于package,所以我们必须使用package 一个。 让我知道这是否有帮助。

编辑

要在 databricks 中添加 liftweb-json,您必须以 maven 身份转到“workspace->create-> Library->[select source] 然后搜索包 然后添加重启集群,然后尝试运行你的 notebook。

然后尝试运行下面的代码

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
}
}

【讨论】:

  • 如何以及在哪里实现 libraryDependency?我的 liftweb 版本是 2.10-2.5.4 这如何改变您的编辑?我通过 Maven Coordinate 中的 Databricks 导入库安装了 liftweb。 notebook:1: error: not found: value libraryDependencies libraryDependencies += "net.liftweb" %% "lift-json" % "2.5.4" ^ notebook:1: error: value %% is not a member of String libraryDependencies += "net.liftweb" %% "lift-json" % "2.5.4" 谢谢
  • @SteveLyle-CSG 请在这里查看我的编辑,很抱歉错过了databricks 配置
猜你喜欢
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-11
  • 2023-02-01
  • 2018-04-14
  • 1970-01-01
相关资源
最近更新 更多