Как установить список системных свойств в строке команды - PullRequest
0 голосов
/ 24 июня 2019

Я хочу установить системные свойства, которые представляют собой список значений в командной строке. Например,

sbt run -Dfoo=   <- my list

Если бы я поместил это в application.conf, я бы сделал это:

foo = ["abc", "bcd"]

Как бы я это сделал в командной строке? Я знаю, как сделать это из одного строкового значения, но мне нужно передать список.

1 Ответ

0 голосов
/ 24 июня 2019

Самый простой способ (и этот самый простой способ указывает на проблему с Lightbend Config до точки, которую списки в конфигурации - это то, чего я стараюсь избегать!) - передать каждое значение как отдельное свойство:

-Dfoo.0=abc -Dfoo.1=bcd

Это действительно неуклюже, само собой разумеется. Когда я контролирую конфигурацию, я предпочитаю кодировать списки строк произвольной длины как строки, разделенные запятыми, и разбивать их на части в приложении. Когда есть ограниченная арность, я синтезирую список в конфигурации как список других свойств. Оба подхода облегчают настройку по переменной среды (особенно полезно в контейнерах).

...