2013-04-24 17 views
31

Mam plik application.conf ze strukturą tak:Jak mogę przesłonić wartość listy konfiguracyjnej typesafe w wierszu poleceń?

poller { 
    datacenters = [] 
} 

chciałbym zastąpić centrów danych w wierszu poleceń. dla innych kluczy konfiguracyjnych, których wartości są typami prostymi (łańcuchy, liczby), mogę przesłonić przy użyciu -Dpath.to.config.value=<value>, a to działa dobrze. jednak nie mogę znaleźć sposobu, aby to zrobić dla list. w powyższym przykładzie próbowałem ustawić centra danych na ["SJC", "IAD"], tak jak: -Dpoller.datacenters="['SJC', 'IAD']", ale otrzymuję wyjątek, że kluczową wartością jest ciąg znaków, a nie lista. czy istnieje sposób, aby zasygnalizować bibliotece konfiguracji bezpiecznych dla typów, że ta wartość jest listą?

Odpowiedz

46

Alternatywna składnia jest zaimplementowana w wersji 1.0.1 do tego:

-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD 
+0

Zobacz https://github.com/typesafehub/config/issues/69 na tle –

3

miałem ten sam problem kilka tygodni temu, a wreszcie zanurkował do kodu źródłowego, aby zrozumieć, co się dzieje:

  • Ta funkcja nie jest realizowana, to nie jest możliwe, aby zdefiniować listę za pomocą wiersza poleceń argumentu

Naprawianie tego nie byłoby takie trudne, ale ktoś potrzebuje czasu, aby to zrobić.

Powiązane problemy