可选的覆盖多值,其中包含类型安全配置库中的环境变量

时间:2016-08-29 15:03:09

标签: java typesafe-config

我喜欢typesafe config lib,但我还没有想出是否可以选择覆盖某些多值。

像这样的东西

multi = [
  "string"
  "list"
]
multi=${?MULTI_ENV}

但是这种方式(如果环境变量MULTI_ENV设置为例如"value1,value2""value1 value2")当然ConfigFactory.load().resolve().getStringList("multi")会抛出异常,因为multi是一个简单的{ {1}}现在。

我也尝试了String,但这也不起作用,因为如果未设置multi=[${?MULTI_ENV}]变量,MULTI_ENV将为空。

似乎没有一些额外的代码可以检查环境变量,手动将其解析为multi并手动覆盖值List<String>,或者是它?

1 个答案:

答案 0 :(得分:0)

似乎就像今天这样内置功能。<​​/ p>

自2015年5月以来存在feature request,但由于环境变量不被视为具有语法,因此不太可能实施。

带有数字键的

System properties already support something similar列表:

-Dfoo1=bar -Dfoo2=BAZ