J'ai un application.conf
fichier avec une structure comme celle-ci:
poller {
datacenters = []
}
Je voudrais remplacer "datacenters"
sur la ligne de commande.
Pour les autres clés de configuration dont les valeurs sont des types simples (chaînes, nombres), je peux remplacer en utilisant -Dpath.to.config.value=<value>
, et cela fonctionne bien.
Cependant, je n'arrive pas à trouver un moyen de le faire pour list s. Dans l'exemple ci-dessus, j'ai essayé de définir "datacenters"
à ["SJC", "IAD"]
ainsi: -Dpoller.datacenters="['SJC', 'IAD']"
, mais j'obtiens une exception selon laquelle la valeur de clé est une chaîne, pas une liste.
Existe-t-il un moyen de signaler à la bibliothèque de configuration typesafe que cette valeur est une liste?
Une syntaxe alternative est implémentée dans la version 1.0.1 pour cela:
-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD
J'ai eu le même problème il y a quelques semaines et j'ai finalement plongé dans le code source pour comprendre ce qui se passait:
Le réparer ne serait pas si difficile, mais quelqu'un doit prendre le temps de le faire.