通过命令行将空数组传递给Dropwizard

时间:2017-08-03 12:53:35

标签: java arrays command-line command-line-arguments dropwizard

我在Dropwizard中使用此配置禁用了请求访问日志记录:

server:
  requestLog:
    appenders: []

我想通过命令行覆盖它,但我不知道空数组的正确语法是什么。我尝试了-Ddw.server.requestLog.appenders=[]-Ddw.server.requestLog.appenders=-Ddw.server.requestLog.appenders='',但所有这些都失败了:

  * Failed to parse configuration at: server.requestLog.appenders; Unexpected token (VALUE_STRING), expected FIELD_NAME: missing property 'type' that is to contain type id  (for class io.dropwizard.logging.AppenderFactory)
 at [Source: N/A; line: -1, column: -1] (through reference chain: metrics.Config["server"]->io.dropwizard.server.DefaultServerFactory["requestLog"]->io.dropwizard.request.logging.LogbackAccessRequestLogFactory["appenders"])

传递空数组的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

我成功地将一个空数组传递给Dropwizard的方法是传递了像这样的参数:

-Ddw.server.requestLog.appenders=,

,是数组元素的分隔符,因此会将两个空字符串传递给数组。就我而言,我有3个数组元素,因此我必须传递,,。我使用了Dropwizard 2.0.8

答案 1 :(得分:0)

试试。 \[\] 用于命令行中的空列表。