Ich denke, dass ich ein sehr allgemeines Problem habe, dass ich Maven zu lösen erwarten, aber ich kann nicht die entsprechenden Plug-in ...Wie Sätze von Eigenschaften Dateien in Maven validieren
Hintergrund
findenWie bei den meisten vernünftig großen Projekten muss ich meine Anwendung in verschiedenen Umgebungen bereitstellen. Sagen wir, sie heißen "Entwicklung", "qa" und "Produktion". In jeder dieser Umgebungen kommuniziert meine Anwendung mit einem anderen Back-End-Server und speichert ihre Daten in einer anderen Datenbank. Anstatt alle Einstellungen in meiner Anwendung zu programmieren, erstelle ich eine Java-Eigenschaftendatei für jede Umgebung und stelle einfach die richtige mit der Anwendung bereit. In meinem Quellcode wird in etwa so aussehen:
<root>
|-- conf
| |--develop
| | \-- application.properties
| |--qa
| | \-- application.properties
| \--production
| \-- application.properties
\-- pom.xml
Das Problem
Wenn der Entwickler eine neue Einstellung zu dem Projekt hinzufügt es ist zu einfach conf\development\application.properties
Datei zu aktualisieren, aber vergessen, die anderen Dateien zu aktualisieren. Wenn die Einstellung fehlt, verursacht dies normalerweise eine Laufzeit, die auf einem Produktionsserver katastrophal sein könnte.
Die Frage
Gibt es eine Maven-Plugin, dass alle drei Versionen von application.properties, um sicherzustellen, verwendet werden könnte, die genau denselben Satz von Tasten enthalten. Wenn ein (oder mehrere) Schlüssel in einer der Dateien fehlt, sollte der Build fehlschlagen.
Zusammenfassend möchten Sie überprüfen, dass alle 3 'application.properties' die gleichen Schlüssel haben. Möchten Sie auch bestätigen, dass sie einen bestimmten Schlüssel haben? – Tunaki
Die einfachste Lösung wäre, einen Komponententest zu schreiben, der diese ... – khmarbaise
@Tunaki Ich habe die Frage aktualisiert, um ein bisschen klarer zu sein, aber ja - ich möchte validieren, dass jede der Eigenschaftendateien genau das gleiche Set enthält von Schlüsseln. Der Build sollte fehlschlagen, wenn einer der Schlüssel fehlt, da sie alle wichtig sind. – Stormcloud