簡體   English   中英

如何使用環境變量覆蓋Typesafe配置中的數組?

[英]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} ]

在未定義f1f2的情況下,這只會導致foo為空數組。 我的目標是產生與上述類似的效果(如果未定義環境變量f1f2則丟棄第二個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM