相关疑难解决方法(0)

来自 envs 的 HOCON 数组替换

我正在使用 HOCON 配置格式,解析库来自 typesafe.Config。HOCON 支持环境变量注入和覆盖。喜欢:

my.config = "asd"
my.config = ${?MY_ENV_VAR} 
Run Code Online (Sandbox Code Playgroud)

如果存在名为 MY_ENV_VAR 的环境变量,这将替换默认值“asd”。但是我似乎找不到任何好方法来进行列表环境替换。喜欢:

my.config = [1,2,3,4]
my.config = ${?MY_ENV_LIST}
Run Code Online (Sandbox Code Playgroud)

因为默认情况下,来自外部的环境变量将默认为字符串,因此[1,2,3,4]从库的角度来看将被视为“[1,2,3,4]”,因此它不能被视为列表并且会产生运行时错误像这样:

com.typesafe.config.ConfigException$WrongType: application.conf: 5: application.boolliststring 的类型为 STRING 而不是 LIST

在 com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:133) 在 com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:145) 在 com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java:151)在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159)在com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164)在com.typesafe。 config.impl.SimpleConfig.getList(SimpleConfig.java:212)

任何人都知道以 HOCON 格式进行列表 env 替换的正确方法是什么?提前致谢。

typesafe-config hocon

7
推荐指数
1
解决办法
2977
查看次数

标签 统计

hocon ×1

typesafe-config ×1