正常解决方案未修复的 Scala Lift JSON 错误

Scala Lift JSON error that is not fixed with normal solution

我有 following Scala project on GitHub. In that repo I have a class, Configurator,它的工作是将 JSON 文件的内容读入一个字符串,然后使用 Lift JSON 库将字符串反序列化为一个实例AppConfig:

import scala.io.Source
import net.liftweb.json._

class Configurator {
  def loadConfigs(configFileUri : String) : AppConfig = {
    implicit val formats = net.liftweb.json.DefaultFormats
    parse(Source.fromFile(configFileUri).mkString).extract[AppConfig]
  }
}

如果你克隆它然后 运行 ./gradlew run 你会得到以下异常:

/Users/myuser/intellij-scala-gradle-example/shared/src/main/scala/com/me/myapp/Configurator.scala:9: could not find implicit value for parameter formats: net.liftweb.json.Formats
    parse(Source.fromFile(configFileUri).mkString).extract[AppConfig]

如果您 Google 那个例外,您会看到 10,000 条关于 implicit 格式修复的建议,我实施正确 here。但这对我不起作用。所以我想知道:

  1. 为什么我会看到这个异常?
  2. 修复了什么?

从 Lift JSON 切换到 GSON,我所有的问题都消失了。