Блоки данных Scala net.liftweb.json parse () не могут выполнить начальную ошибку - PullRequest
0 голосов
/ 29 ноября 2018

Я не могу найти что-либо еще в Интернете.Я пробовал это с обеими версиями лифта 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 голосов
/ 29 ноября 2018

Я добавил 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 один.Дайте мне знать, если это поможет.

Редактировать

Чтобы добавить liftweb-json в блоки данных , вам нужно перейти в «рабочее пространство-> создать-> Библиотека -> [выберите источник] как maven, затем поиск пакетов и добавьте после этого перезапустите кластер, а затем попробуйте запустить ноутбук.

И затем попробуйтезапустите следующий код

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