2017-07-07 3 views
0

ich herauszufinden versuche, wie Deployment spezifische Konfiguration von meinem Grails 3 App zu trennen. In Grails 2 konnte ich einen Config Location Lookup einrichten, der meine Dev-spezifische Konfigurationsdatei lädt. Und in Grails 3 habe ich gefunden, dass ich zusätzliche Feder configs bereitstellen kann, wenn die App läuft, dh:Zwingende Grails Config für Plugins

./grailsw -Dspring.config.location=classpath:application.yml,file:///home/nigel/src/app/dev.yml run-app 

Allerdings ist dies nicht funktioniert, wenn ich Plugins bin mit, wie unten, wo es wird nur die config in Grails-app/conf/application.yml verwendet:

./grailsw -Dspring.config.location=classpath:application.yml,file:///home/nigel/src/app/dev.yml url-mappings-report 

also meine Frage ist, wie Deployment/dev spezifische Konfigurationsdateien zu grails ich biete, so dass sie mit dem Grails Plugins funktionieren.

Antwort

0

Für grails 3 können Sie external config Plugin verwenden. Und konfigurieren Sie die Konfigurationsspeicherorte.

grails.config.locations = ["classpath:myconfig.groovy"] 
+0

Dank, kann ich diese Art von Arbeit, wenn ich den grails.config.locations Parameter in der application.yml-Datei festgelegt, wie zu übergeben Sie als JVM-Parameter gegenüber, die der flexibelste Ansatz wären. Also, lassen Sie mich mit der Frage, was ist die Variablensubstitution, die ich verwenden sollte, um auf das Projekt Home-Verzeichnis verweisen? Ich habe versucht, $ {project.home} und $ {grails.home}, aber beide funktionieren nicht. Bei einer Prise könnte ich den Klassenpfad wie vorgeschlagen verwenden, aber "externe" Config auf dem Klassenpfad scheint nicht intuitiv. – Nigel

+0

Als der Krieg lief, gibt es kein Projekt Home-Verzeichnis, sollten Sie nicht ein Projekt Home-Verzeichnis verwenden, sondern eine Datei in jedem Klassenpfad oder in Benutzer Home-Verzeichnis, oder irgendwo in catalina Basisverzeichnis und das alles unterstützt wird, lesen Sie die Dokumentation des Plugins –

0

Versuchen Sie, die Grails 3 external config Plugin für diese Aufgabe zu verwenden.

Dieses Plugin ahmt Grails 2-Wege externen Konfigurationen der Handhabung definiert in grails.config.locations

Schritte:

  1. Abhängigkeit In der build.gradle.

  2. Erstellen Sie ein neues lokales Config Groovy-Skript und fügen Sie die Konfiguration hinzu, die Sie überschreiben möchten.

  3. Fügen Sie die externe Konfigurationseigenschaft in Ihrem applicatin.yml oder application.groovy hinzu und geben Sie den Pfad zu Ihrer lokalen Konfigurationsdatei darin an.

Das ist es.

Verwandte Themen