2017-02-14 3 views
0

Ich habe eine Spring Boot-Anwendung für die ich eine Basis application.properties, und dann ein paar application-${profile}.properties Dateien mit der Konfiguration für mehrere Entwicklungsumgebungen gültig halten.Spring Boot: Ausschließen von Konfigurationseigenschaften für Profile aus JAR-Paket

Ich will diese application-${profile}.properties Dateien in der Quellcodeverwaltung halten, aber da es sich um private Entwicklungsumgebung Details enthalten, möchte ich für den Vertrieb an Dritte ohne ihnen eine jar Paket erstellen können (das heißt nur mit der Basis application.properties). Dies würde die Benutzer dazu zwingen, beim Ausführen (oder auf andere Weise konfigurieren) dem Klassenpfad ihren eigenen application.properties hinzuzufügen, was ich beabsichtige.

Ich verstehe, konnte ich jene Profilkonfiguration Dateien an anderer Stelle statt src/main/resources so bewegen, dass mvn package sie ignoriert, dann solche Ordner in den Classpath in IDE-Konfigurationen hinzufügen ..., aber ich denke, es ist wahrscheinlich eine stärker integrierte, elegante Art und Weise dies zu tun, mit Booten, die ich vermisse ...

+0

Haben Sie von einem Konfigurationsserver gedacht tun? Es ist einfach, mit Spring Boot –

+0

@zakariaamine gut ja einzurichten, aber ich wollte so weit zu gehen vermeiden ... danke! –

+0

Ich denke, Sie können während der Ausführung des Jar Argumente übergeben, die die Werte in der Eigenschaftendatei überschreiben können. [Externalisierung] (https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html) –

Antwort

2

ich es selbst nicht getan haben, sondern nach der Dokumentation wird die Anwendungseigenschaften von folgenden Standorten

  1. A /config Unterverzeichnis des aktuellen directo lesen Ry.
  2. Die aktuelle Classpath-Verzeichnis A /config Paket
  3. Die Wurzel Classpath

Dann können Sie

java -jar myproject.jar --spring.config.name=nameofpropertiesfile 
+0

Ich wusste, dass mir etwas fehlte. Du hast recht. Alle 'application - $ {profile} .properties' gehen zu'/config', die IDE erkennt sie (wenn das Profil richtig eingestellt ist), und sie gehen nicht in '.jar'. Bootiful;). Vielen Dank! –

Verwandte Themen