【问题标题】:How to Set List of System Properties On COmmand Line如何在命令行上设置系统属性列表
【发布时间】:2019-06-24 12:11:13
【问题描述】:

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

sbt run -Dfoo=   <- my list

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

foo = ["abc", "bcd"]

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

【问题讨论】:

    标签: scala playframework typesafe-config


    【解决方案1】:

    最简单的方法(这是指出 Lightbend Config 存在问题的最简单方法,以至于我尽量避免在 config 中列出问题!)是将每个值作为不同的属性传递:

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

    这真的很笨重,不用说。当我控制配置时,我更喜欢将任意长度的字符串列表编码为逗号分隔的字符串,并在应用程序中将其分开。当数量有限时,我会将 config 中的列表合成为其他属性的列表。这两种方法都便于通过环境变量进行配置(在容器中尤其有用)。

    【讨论】:

    • 我无法控制此配置。我依赖的另一个 Play 库需要它,否则我同意该列表在配置中不好。
    猜你喜欢
    • 2014-02-18
    • 2011-11-13
    • 2015-09-21
    • 2015-07-03
    • 1970-01-01
    • 2011-08-08
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多