Arbeiten mit YAML- und Java-Properties-Konfiguration
Was dieser Konverter macht
YAML und Java-.properties-Dateien sind zwei Arten, dieselbe Konfiguration zu schreiben. Properties-Dateien speichern pro Zeile ein flaches Schlüssel=Wert-Paar und deuten die Hierarchie über Punkte an (server.servlet.context-path=/api). YAML drückt dieselbe Hierarchie durch echte Einrückung und Verschachtelung aus. Dieses Tool liest beide Formate, erkennt, welches du eingefügt hast, und schreibt es in das jeweils andere um: Es entfaltet punktierte Schlüssel zu einem verschachtelten Baum oder flacht einen Baum wieder zu punktierten Pfaden ab.
Da die Konvertierung bidirektional ist und auf der erkannten Struktur statt auf einer festen Vorlage beruht, kannst du eine Datei komplett hin und her wandeln (YAML → Properties → YAML) und ein gleichwertiges Ergebnis zurückerhalten.
Wann man es einsetzt
Der häufigste Fall ist ein Spring-Boot-Projekt, das zwischen application.properties und application.yml migriert. Teams beginnen meist mit Properties und wechseln zu YAML, sobald die Konfiguration so tief wird, dass punktierte Schlüssel schwer zu lesen sind. Die umgekehrte Richtung ist genauso nützlich, wenn ein Tool oder eine Deployment-Pipeline flache Properties erwartet.
Praktisch ist es auch, um zwei Konfigurationen schnell zu vergleichen, einen Ausschnitt aus der Dokumentation in das Format zu bringen, das dein Projekt tatsächlich verwendet, oder Einrückung und Array-Stil vor dem Commit zu vereinheitlichen.
Beispiel: ein Server-Block
Aus den Properties-Zeilen server.port=8080 und server.servlet.context-path=/api wird ein verschachtelter YAML-Block, in dem server den Eintrag port: 8080 sowie einen Schlüssel servlet mit context-path: /api enthält. Konvertierst du zurück, tauchen die punktierten Schlüssel exakt wieder auf. Zahlen wie 8080 bleiben ohne Anführungszeichen, damit sie ihren Ganzzahltyp behalten und nicht zu Zeichenketten werden.
Formathinweise und Sonderfälle
Kommentare lassen sich bei aktivierter Option durch die Konvertierung hinweg erhalten, was für dokumentierte Konfigurationsdateien wichtig ist. Arrays können als YAML-Strichlisten oder als indizierte Properties (name[0], name[1]) ausgegeben werden. Anpassbare Einrückung und Zeichenketten-Quoting (automatisch, immer, nie) lassen dich dem Styleguide deines Teams folgen. Die automatische Typerkennung verhindert, dass boolesche, ganzzahlige und Null-Werte in Anführungszeichen gesetzt werden.