我一直在使用Typesafe配置中的environment variable substitution功能:
foo = "foo"
foo = ${?FOO}
这导致"默认"价值" foo"如果没有名为FOO
的环境变量。在这种情况下,第二个值声明(foo = ${?FOO}
被简单地丢弃)。但是,如果存在名为FOO
的变量,则库将"替换" FOO
的值,并将其分配给foo
。
我希望与数组类似,但不幸的是,这不能按预期工作:
foo = [ "1", "2" ]
foo = [ ${?f1}, ${?f2} ]
如果未定义f1
和f2
,则只会导致foo
为空数组。我的目标是获得与上面类似的效果(如果没有定义环境变量foo
和f1
,则丢弃第二个f2
)。任何想法/建议表示赞赏。感谢。
答案 0 :(得分:2)
我发现,在HOCON配置文件中使用cd /vobs/proj/dita
并在Scala代码中期望a = ${?VARNAME}
的情况下使用List
(或简单地-DVARNAME.0=something
)将得到正确的结果VARNAME.0=something
值。 (在Play 2.6.13和AllowedHosts过滤器中进行了测试。)