我正在尝试创建一个带有可选值的TypeSafe配置,以便最终将配置写入文件。
问题在于我做的时候
val newConfig = config
.withValue("something",ConfigValueFactory.fromAnyRef("defaultvalue"))
.withValue("something", ConfigValueFactory.fromAnyRef("${?optional}"))
结果如下:
{something: ${?optional}}
但我想要像:
{something: defaultValue, something: ${?optional}}
有可能以编程方式做到吗?
答案 0 :(得分:1)
withValue
的问题是最后一次调用只返回一个只有新值的新对象。您可以使用withFallback
,但它会遇到同样的问题,因为在构造对象时正在解析该值。
我玩了一段时间,但似乎Typesafe Config API是用已解析的对象模型表示的,而不是HOCON AST,这使得你的用例不受支持。我建议你在他们的GitHub仓库中打开一个功能请求:https://github.com/lightbend/config/issues