的docs說,我可以訪問這樣的環境變量:角色``在HOCON文件訪問環境變量時
database_name = "${?DB_NAME}"
凡DB_NAME
是一個環境變量。如果不存在,我必須將問號?
或防止崩潰嗎?
另外,我們是否允許在聲明之前在文件中引用變量?
foo = "hello-${bar}"
bar = "baz"
的docs說,我可以訪問這樣的環境變量:角色``在HOCON文件訪問環境變量時
database_name = "${?DB_NAME}"
凡DB_NAME
是一個環境變量。如果不存在,我必須將問號?
或防止崩潰嗎?
另外,我們是否允許在聲明之前在文件中引用變量?
foo = "hello-${bar}"
bar = "baz"
1- ?
意味着可選的,因此如果環境變量不存在運行時的整條生產線將被忽略,因爲如果它沒有在首位存在。所以,當你想要可選的覆蓋時使用它。
有關更多信息,請參閱Optional Env Vars section of the docs。
另請注意,?
適用於所有替代品,而不僅僅是env vars。
2-是的,您可以引用稍後在配置文件中定義的變量(正向引用)。只要該值存在並且沒有循環(循環依賴),替換將成功完成。
想到這樣:首先整個文件將在運行時解析,文字的值將被綁定到它們的變量,然後替換將完成,所以順序並不重要。
最好提出兩個不同的問題,每個問題一個。 –