首页 > 解决方案 > 强制 pureconfig 为案例类生成 ConfigReader

问题描述

我有一个隐式类,它包含一个类型安全的 Config 类以从中解析信息。这个类使用 pureconfig 来解析数据。我使用它是因为我更喜欢config.as[String]("foo")而不是loadConfig[String](config, "foo"). 但是由于我将其HoconConfigUtil用作适配器case,因此我尝试解析的所有类都失败了,因为未在这些案例类上直接调用 loadConfig 方法。因此,我收到如下所示的错误。处理这个问题的最佳方法是什么?

错误信息

could not find implicit value for evidence parameter of type pureconfig.ConfigReader[com.example.config.Parallelism]

隐式适配器类

implicit class HoconConfigUtil(config: Config) {
    def as[T](path: String)(implicit derivation: Derivation[ConfigReader[T]]): T = {
      pureconfig.loadConfig[T](config, path) match {
        case Right(x: T @unchecked) => x
        case Left(th: ConfigReaderFailures) => throw makeException(th)
      }
    }
}    

标签: scalascala-macrospureconfig

解决方案


推荐阅读