[英]How to override array in Typesafe config with environment variables?
我一直在Typesafe配置中使用環境變量替換功能:
foo = "foo"
foo = ${?FOO}
如果沒有名為FOO
環境變量,則結果為“ foo”的“默認”值。 在這種情況下,第二個值聲明( foo = ${?FOO}
被簡單地丟棄)。 但是,如果存在一個名為FOO
的變量,該庫將“替換” FOO
的值並將其分配給foo
。
我希望數組具有類似的行為,但是不幸的是,這無法按預期工作:
foo = [ "1", "2" ]
foo = [ ${?f1}, ${?f2} ]
在未定義f1
和f2
的情況下,這只會導致foo
為空數組。 我的目標是產生與上述類似的效果(如果未定義環境變量f1
和f2
則丟棄第二個foo
)。 任何想法/建議表示贊賞。 謝謝。
我發現在HOCON配置文件中使用a = ${?VARNAME}
且Scala代碼期望使用List
,並使用-DVARNAME.0=something
(或簡稱VARNAME.0=something
)將得到正確的["something"]
值。 (已在Play 2.6.13和AllowedHosts過濾器中進行了測試。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.