2013-04-24 35 views
31

tôi có một tập tin application.conf với một cấu trúc như sau:làm cách nào tôi có thể ghi đè lên giá trị danh sách cấu hình typesafe trên dòng lệnh?

poller { 
    datacenters = [] 
} 

tôi muốn ghi đè lên trung tâm dữ liệu trên dòng lệnh. đối với các khóa cấu hình khác có giá trị là các loại đơn giản (chuỗi, số) tôi có thể ghi đè bằng cách sử dụng -Dpath.to.config.value=<value> và điều này hoạt động tốt. Tuy nhiên, tôi không thể tìm cách để làm điều này cho danh sách. trong ví dụ trên, tôi đã cố gắng đặt trung tâm dữ liệu thành ["SJC", "IAD"] như sau: -Dpoller.datacenters="['SJC', 'IAD']", nhưng tôi nhận được ngoại lệ là giá trị khóa là một chuỗi chứ không phải danh sách. có cách nào để báo hiệu cho các thư viện cấu hình typesafe rằng giá trị này là một danh sách?

Trả lời

46

Một cú pháp thay thế được thực hiện trong phiên bản 1.0.1 cho điều này:

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

Xem https://github.com/typesafehub/config/issues/69 cho nền –

3

tôi đã cùng một vấn đề một vài tuần trước, và cuối cùng lặn vào mã nguồn để hiểu những gì đang xảy ra:

  • Tính năng này không được thực hiện, nó không thể định nghĩa một danh sách sử dụng đối số dòng lệnh

Khắc phục nó sẽ không quá khó, nhưng ai đó cần dành thời gian để làm điều đó.

Các vấn đề liên quan