gpt4 book ai didi

scala - 如何创建 ConfigValue 表示 Typesafe.Config 中的对象

转载 作者:行者123 更新时间:2023-12-01 10:45:53 26 4
gpt4 key购买 nike

com.typesafe.config.Config中有一个接口(interface):

Config withValue(String path, ConfigValue value);



假设现在我想将一个自己定义类的对象保存到Config中,该怎么办?函数ConfigValueFactory.fromAnyRef失败

我的代码如下:
val value = Resource(100)
config.withValue("resource",
ConfigValueFactory.fromAnyRef(value))

这是一个异常(exception):

bug in method caller: not valid to create ConfigValue from: Resource(100) com.typesafe.config.ConfigException$BugOrBroken: bug in method caller: not valid to create ConfigValue from: Resource(100) at com.typesafe.config.impl.ConfigImpl.fromAnyRef(ConfigImpl.java:275)

最佳答案

您不能将任意对象放入类型安全的配置中。如果你要去 fromAnyRef 实现,你会发现你只能传递原语+ map 。这对我有用:

  val config = ConfigFactory.empty()

case class Resource(i: Int)

val value = 100
//val value = Resource(100) // Failed

println(config.withValue("resource",
ConfigValueFactory.fromAnyRef(value)))

关于scala - 如何创建 ConfigValue 表示 Typesafe.Config 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26007344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com