如何在命令行上设置系统属性列表

时间:2019-06-24 12:11:13

标签: scala playframework typesafe-config

我想设置系统属性,该属性是命令行上的值列表。例如,

sbt run -Dfoo=   <- my list

如果我将其放在application.conf中,我会这样做:

foo = [“ abc”,“ bcd”]

如何在命令行上执行此操作?我知道如何从一个字符串值执行此操作,但是我需要传递列表。

1 个答案:

答案 0 :(得分:0)

最简单的方法(并且这是指出Lightbend Config出现问题的最简单方法,我想避免在config中列出该问题!)是将每个值作为不同的属性传递:

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

这确实很笨拙,不用说。当我控制配置时,我更喜欢将任意长度的字符串列表编码为逗号分隔的字符串,然后在应用程序中将其拆分。在有限的Arity情况下,我将config中的列表综合为其他属性的列表。两种方法都有助于通过环境变量进行配置(在容器中尤其有用)。