繁体   English   中英

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

[英]How can I create a ConfigValue represents a object in Typesafe.Config

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

Config withValue(String path,ConfigValue value);

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

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

这是例外:

方法调用者中的错误:无效以创建ConfigValue:Resource(100)com.typesafe.config.ConfigException $ BugOrBroken:方法调用者中的错误:无效创建ConfigValue:资源(100)at com.typesafe.config.impl .ConfigImpl.fromAnyRef(ConfigImpl.java:275)

您不能将任意对象放入类型安全配置中。 如果您将从AnyAfRef实现,您将只能传递基元+贴图。 这对我有用:

  val config = ConfigFactory.empty()

  case class Resource(i: Int)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM