无法在 `Config` 中找到 `as` 方法

unable to find `as` method in `Config`

我看到了下面的代码片段

   val settings = configuration.underlying.as[CookieSecretSettings]("silhouette.oauth1TokenSecretProvider")

我认为配置的类型是 play.api.Configurationunderlying is of typeConfig` (https://www.playframework.com/documentation/2.6.x/api/scala/index.html#play.api.Configuration)

我在我的 Apploader 中复制了代码(因为我正在使用编译时注入)。 BuiltInComponentsFromContext 有一个 configuration 变量。我想按如下方式使用它 val config = configuration.underlying.as[CookieAuthenticatorSettings]("silhouette.authenticator") 但编译器无法解析 as。我做错了什么?

Config 库似乎有 asInstanceOf 而不是 as,但如果我使用它,我会遇到其他错误。我注意到 as 工作的代码使用 play 版本 2.4.2 而我正在使用 2.6.12.

我意识到这是一个老问题,但我今天偶然发现了这个确切的问题,但找不到任何有用的信息。

as 方法由第三方库 (Ficus) 提供,用于从 Typesafe 配置中读取 case 类 和 Scala 类型。您需要将其包含在构建依赖项中,然后添加到导入中:

import net.ceedubs.ficus.Ficus._
import net.ceedubs.ficus.readers.ArbitraryTypeReader._