Ich entwickle eine Spring-Boot-Anwendung
Ich möchte einige Eigenschaften in src/main/resources/application.properties
mit einer externen Datei überschreiben (z. B. /etc/projectName/application.properties
).
Ich habe verschiedene Methoden ausprobiert:
@PropertySource("file:/etc/projectName/application.properties")
als Anmerkung bei ApplicationConfig.java
spring.config.location=/etc/projectName/application.properties
in meiner application.properties in resources
Ich habe es mit spring.port
getestet. Die erste Methode hat nur Eigenschaften hinzugefügt, diese jedoch nicht überschrieben.
Ich verwende --spring.config.location=
immer in der Befehlszeile, wie in Dokumentation , und Sie können verschiedene Dateien einfügen, eine mit Standardwerten und eine andere mit den überschriebenen.
Bearbeiten:
Alternativ könnten Sie auch etwas wie:
und geben Sie einen external.config
in Ihrer application.properties an.
Dies würde einen Standardpfad für die Overriding-Konfiguration bereitstellen, der selbst noch übersteuerbar ist, indem in der Befehlszeile ein --external.config
angegeben wird.
Ich benutze dies mit ${external.config}
als System-Umgebungsvariable definiert, aber es sollte auch mit einer application.properties-Variable funktionieren.
Tags und Links java spring-boot