java - programacion - ¿Cómo puedo anular un valor de lista de configuración de tipo seguro en la línea de comando?
menu bar java netbeans (2)
Tuve el mismo problema hace algunas semanas, y finalmente me zambullí en el código fuente para entender lo que está pasando:
- Esta característica no está implementada, no es posible definir una lista usando un argumento de línea de comando
Repararlo no sería tan difícil, pero alguien necesita tomarse el tiempo para hacerlo.
Tengo un archivo application.conf con una estructura como la siguiente:
poller {
datacenters = []
}
me gustaría sobrescribir los centros de datos en la línea de comando. para otras claves de configuración cuyos valores son tipos simples (cadenas, números), puedo anular el uso de -Dpath.to.config.value=<value>
, y esto funciona bien. sin embargo, parece que no puedo encontrar una forma de hacer esto para las listas. en el ejemplo anterior, intenté configurar los centros de datos en ["SJC", "IAD"] de la siguiente manera: -Dpoller.datacenters="[''SJC'', ''IAD'']"
, pero recibo una excepción de que el valor de la clave es una cadena, no una lista. ¿Hay alguna manera de indicar a la biblioteca de configuración de tipo seguro que este valor es una lista?
Una sintaxis alternativa se implementa en la versión 1.0.1 para esto:
-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD