Penso che https://github.com/typesafehub/config è esattamente quello che stai cercando. Il formato è chiamato HOCON per Notazione oggetto ottimizzato per la configurazione umana e un super-set di JSON.
Examples of HOCON:
HOCON che è valida anche JSON:
{
"foo" : {
"bar" : 10,
"baz" : 12
}
}
HOCON supporta anche il formato proprietà standard, in modo da vale quanto segue così:
foo.bar=10
foo.baz=12
Una delle caratteristiche che trovo molto utile è l'ereditarietà, questo allo ws tu per stratificare le configurazioni. Ad esempio una libreria avrebbe un reference.conf
e l'applicazione che utilizza la libreria avrebbe un application.conf
. Le impostazioni nello application.conf
sostituiranno le impostazioni predefinite in reference.conf
.
Standard Behavior per configurazioni di carico:
Il metodo comodo ConfigFactory.load() carica il seguente (prima elencati sono priorità superiore):
- proprietà di sistema application.conf (tutte le risorse su classpath con questo nome)
- application.json (tutte le risorse su classpath con questo nome )
- application.properties (tutte le risorse su classpath con questo nome )
- riferimento.conf (tutte le risorse sul classpath con questo nome)
Beh, ho bisogno di qualcosa che non sono Non devi preoccuparti di analizzare il file. Tutto quello che dovrei fare è inizializzare con il nome del file, e poi leggere le chiavi usando un singolo comando. –
Questo è esattamente ciò di cui hai bisogno. Forse non un singolo comando, ma abbastanza vicino a quello. – maksimov