Я использую формат конфигурации HOCON, и библиотека для синтаксического анализа взята из typesafe.Config.HOCON поддерживает env vars инъекции и переопределения.например:
my.config = "asd"
my.config = ${?MY_ENV_VAR}
это заменит значение по умолчанию "asd", если будет представлен env var с именем MY_ENV_VAR.Однако я не могу найти какой-либо хороший способ сделать замену списка env.например:
my.config = [1,2,3,4]
my.config = ${?MY_ENV_LIST}
, поскольку по умолчанию env vars извне будет по умолчанию строкой, поэтому [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) at com.typesafe.config.impl.SimpleConfig.getList (SimpleConfig.java:212)
Кто-нибудь имеет какие-либо идеи о том, как правильно сделать замену списка env в формате HOCON?заранее спасибо.