0

GitHubに次の Scala プロジェクトがあります。そのレポにはクラスがあり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 で検索すると、私がここでimplicit実装したその形式の修正に関する 10,000 件の推奨事項が表示されます。しかし、それは私にはうまくいきませんでした。だから私は疑問に思っています:

  1. この例外が表示されるのはなぜですか?
  2. 修正は何ですか?
4

1 に答える 1

0

Lift JSON から GSON に切り替えたところ、すべての問題が解消されました。

于 2017-03-14T10:39:28.063 に答える