Если вы должны использовать переменные окружения, и если их именование в соответствии с именами конфигурации вы можете использовать Баш скрипт так, чтобы автоматически конвертировать из среды варов в JVM CMD арга. Эти аргументы -D
JVM переопределяют значения Configafe Config. Пример:
# export my_PROP1=1
# export my_PROP2=2
#
# props=$(env | grep my_ | awk '{print "-D"$_}' ORS=' ')
#
# echo "JVM executable command is: java $props some.jar"
JVM executable command is: java -Dmy_PROP2=2 -Dmy_PROP1=1 some.jar
Преобразовать верхнего к нижнему регистру, не подстроки операции на окр вары, как вы, пожалуйста, если они непосредственно не отображаются на ваших значений конфигурации.
Вы можете попробовать другие подходы, такие как: http://stackoverflow.com/questions/24966621/overriding-multiple-config-values-in-typesafe-config-when-using-an-uberjar-to-de/24967100# 24967100. Я бы предложил переопределить их с помощью '-D' JVM args - вам не нужно заранее знать/внедрять что-либо. –
Спасибо, но моя проблема с этими предложениями в том, что мне нужно либо преобразовать заданные переменные среды в другой файл (и преобразовать ключи «на лету»), чтобы использовать ответ, на который ссылается, или конкретно указать каждый параметр как системное свойство - это то, что я делаю в данный момент, - но это трудно справиться и вызывает много двойного maintanance. –
. Вы должны упомянуть только параметры, которые вы переопределяете либо в файле конфигурации, либо в качестве аргументов CMD. Нет необходимости перечислять все значения. –