How can I override a typesafe config list value on the command line?
Solution 1
An alternative syntax is implemented in version 1.0.1 for this:
-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD
Solution 2
I had the same issue some weeks ago, and finally dived into the source code to understand what's going on:
- This feature is not implemented, it's not possible to define a list using command line argument
Fixing it wouldn't be that hard, but someone need to take time to do it.
Michael Frank
Updated on June 05, 2022Comments
-
Michael Frank almost 2 years
I have an
application.conf
file with a structure like the following:poller { datacenters = [] }
I would like to override
"datacenters"
on the command line.For other configuration keys whose values are simple types (strings, numbers) I can override using
-Dpath.to.config.value=<value>
, and this works fine.However, I can't seem to find a way to do this for lists. In the example above, I tried to set
"datacenters"
to["SJC", "IAD"]
like so:-Dpoller.datacenters="['SJC', 'IAD']"
, but I get an exception that the key value is a string, not a list.Is there a way to signal to the typesafe config library that this value is a list?
-
Grigoriev Nick over 4 yearsWhat if I need to put an empty List?