【发布时间】:2018-11-05 13:53:23
【问题描述】:
我有以下配置文件:
connection.port = 8080
connection.interface = "127.0.0.1"
我在阅读此文件时尝试使用精炼和精炼-pureconfig。我有以下课程:
import com.api.models.{Config, Connection}
import com.typesafe.config.ConfigFactory
import pureconfig.error.ConfigReaderFailures
import pureconfig.loadConfig
object Configuration {
val config = ConfigFactory.load()
val stuff: Either[ConfigReaderFailures, Connection] = loadConfig[Connection](config)
stuff match {
case Left(left) => println(left)
case Right(right) => println(right)
}
}
这是阅读下面的案例类:
case class Connection(port: Int, interface: String)
但是,当我尝试编译它时,我收到以下错误:
Error:(19, 79) could not find implicit value for parameter reader: pureconfig.Derivation[pureconfig.ConfigReader[com.api.models.Connection]]
val stuff: Either[ConfigReaderFailures, Connection] = loadConfig[Connection](config)
我真的不知道如何创建这样一个隐含的?
【问题讨论】:
-
你的进口是什么?
-
添加
scalacOptions += "-Xmacro-settings:materialize-derivations"进行构建以获得更好的隐式提示。见here。 -
我已经添加了,没有出现同样的错误!
-
@DominicEgger - 我已经添加了导入,谢谢!
标签: scala pureconfig refined