6

Ich habe kürzlich versucht, Apache Commons-Configuration verwenden, um einige lokale XML-Konfigurationsdateien zu verwalten. Die Benutzerfreundlichkeit ist drastisch eingeschränkt (leere Konfigurationsdateien können nicht geladen werden, die Konfiguration erfordert für die meisten Operationen die Verwendung der zugrunde liegenden Konfigurationen usw.) und die Konsistenz über die gesamte API hinweg (Operationspos speichern, keine Ereignisse, Ereignisse sind nicht universell).Alle Apache Commons-Konfiguration Ersatz/Konkurrenten?

Abgesehen von den JDK-Einstellungen, die in die Registry schreiben (was ich nicht möchte), gibt es noch andere Alternativen zum Verwalten dateibasierter Einstellungen?

Die Verwendung eines anderen Dateiformats ist keine Option.

+0

Was ist los mit 'Eigenschaften'? –

+0

Die Verwendung von Eigenschaften für XML bietet keinen Vorteil gegenüber Dateien mit geraden Eigenschaften, die für meine Zwecke nicht beschreibend genug sind. –

+1

Ich bezog mich auf Dateien mit geraden Eigenschaften. Warum ist XML Ihrer Meinung nach besser geeignet? –

Antwort

0

Ihre Frage macht nicht deutlich, ob Sie bei einer XML-basierten Technologie bleiben müssen. Wenn nicht, dann könnten Sie schlechter als in Betracht ziehen Json, YAML oder (mein Favorit, und das, das ich pflege) Config4*.

+0

Es muss XML sein. Ich habe die Frage aktualisiert. –

1

Ich habe XStream in der Vergangenheit dafür verwendet, aber es ist nur XML-Datenbindung, Zuordnung von Datei zu Objekten. Es belastet Sie, Methoden auf höherer Ebene bereitzustellen (insbesondere Kombinationskonfigurationen, Validierung).

+0

Ich fange an zu denken, dass dies die Route ist, die ich gehen muss (Un/Marshalling mit einem XML Api), obwohl ich gehofft hatte, es zu vermeiden. XStream macht es einfacher als andere, also werde ich das zuerst ausprobieren. Danke für die Erinnerung. –

+0

Viel Glück. Ich bin jetzt in C++ Land, und es gibt boost :: property_tree, was das meiste von dem tut, was wir wollen. –