У меня есть файл conf ниже:
connection.port = 8080
connection.interface = "127.0.0.1"
Я пытаюсь использовать refined и refined-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"
do your build, чтобы получить лучшие неявные подсказки. См. здесь . - person erip   schedule 05.11.2018