Scala Typesafe/Hocon配置:变量替换:引用路径

Scala Typesafe/Hocon配置:变量替换:引用路径,scala,typesafe,typesafe-config,Scala,Typesafe,Typesafe Config,我们有一个使用hocon配置构建的巨大配置文件的项目。 我们打算在可能的情况下使用变量来创建template_部分,并根据一些选项在template中设置一些值 问题是,在这个配置中使用变量时,我必须始终引用绝对路径。 是否可以使用规范名称(如果属性位于同一级别) 例如: foo { bar = 4 baz = ${foo.bar} // work perfect baz = ${[this].bar} // can I do smth like that? Any id

我们有一个使用hocon配置构建的巨大配置文件的项目。 我们打算在可能的情况下使用变量来创建template_部分,并根据一些选项在template中设置一些值

问题是,在这个配置中使用
变量时,我必须始终引用绝对路径。
是否可以使用规范名称(如果属性位于同一级别)

例如:

foo {
    bar = 4
    baz = ${foo.bar} // work perfect
    baz = ${[this].bar} // can I do smth like that? Any ideas.
}
更真实的例子。我真正想要的是在构建hocon配置时的通用OOP能力。 我有一些父配置
template\u config
,其中包含
important\u选项
,这实际上取决于实现:
custom\u config1
custom\u config2
,当前我要做的是在两个子配置中实现
important\u选项
,因为对于绝对路径,我必须引用自定义配置分区名称

custom_config1: $template_config {
    child_option = child_value1
}

custom_config2: $template_config {
    child_option = child_value2
}

template_config {
    important_option = ${child_option} // NOT POSSIBLE
    child_option = not_implemented
}

你所说的“到达配置”是什么意思?那意味着“富有”吗?通过阅读说明书,似乎你想要的是不可能的。路径是绝对的,而不是相对的。thx,我也检查了spec,但没有找到任何选项。我认为最好的办法是在Scala配置对象中封装您想要的逻辑。您不应该从根目录编写完整路径,即
模板\u config.child\u选项
。当变量位于未命名配置中时,这也是一个问题,例如,在一个配置数组中。然后您不能通过它的路径引用它,例如
outer{list:[{anonymous:config},{other:config}]}