2016-10-15 8 views
10

i application.yml haben, application-dev.yml und application-dev.yml, wie Sie mit Federverschluß Profile

  1. Ich verwende das Maven-Befehl mvn spring-boot:run -Dspring.profiles.active=dev es nicht funktioniert und ich kann das Entwickler-Profil nicht wählen mvn spring-boot:run verwenden. Wie wähle ich es?
  2. Die Dokumentation sagt java -jar XXX.jar --spring.profiles.active=dev funktioniert, und ich habe versucht -Dspring.profiles.active=dev, aber es funktioniert nicht. Und in meinem Projekt verwende ich java -jar XXX.jar es läuft, aber wenn ich java -jar XXX.jar --spring.profiles.active=dev dev Profil, Konsole Druck so viele Protokolle wählen und warnt davor, dass ich nie java -jar XXX.jar gebraucht, und sagen Sie mir APPLICATION FAILED TO START

so, wie zwei zu lösen Probleme? Danke ~

Antwort

0

Sie können Eigenschaften entsprechend Profilen in einem application.properties (Yml) wie here spezifizieren. Dann sollte mvn clean spring-boot:run -Dspring.profiles.active=dev es korrekt ausführen. Es funktioniert für mich

13

Ich bin mir nicht sicher, ob ich die Frage vollständig verstehe, aber ich werde versuchen, zu antworten, indem ich ein paar Details über Profile in Spring Boot gebe.

Für Ihre # 1 Beispiel, nach den Dokumenten können Sie das Profil mit dem Spring Boot Maven-Plugin mit -Drun.profiles auswählen.

mvn spring-boot:run -Drun.profiles=dev 

http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html

Von Ihrem # 2 Beispiel definieren Sie das aktive Profil nach dem Namen des Glases. Sie müssen das JVM-Argument vor dem Namen des Jar, das Sie ausführen, angeben.

java -jar -Dspring.profiles.active=dev XXX.jar 

Allgemeine Informationen:

Sie erwähnen, dass Sie beide haben eine application.yml und ein application-dev.yml. Wenn Sie mit dem Profil dev arbeiten, werden die Konfigurationsdateien geladen. Werte von application-dev.yml überschreiben die gleichen Werte, die von application.yml zur Verfügung gestellt werden, aber Werte von beiden yml Dateien werden geladen.

Es gibt auch mehrere Möglichkeiten, das aktive Profil zu definieren.

Sie können sie wie Sie definieren, indem Sie -Dspring.profiles.active verwenden, wenn Sie Ihr Glas ausführen. Sie können das Profil auch mithilfe einer Umgebungsvariablen SPRING_PROFILES_ACTIVE oder einer Systemeigenschaft spring.profiles.active festlegen.

Weitere Informationen finden Sie hier: http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html#howto-set-active-spring-profiles

+0

Dank, wie Sie gived sollte in Ordnung sein, aber wie ich sage, ich 'java -jar XXX.jar --spring.profiles.active = dev' zu wähle dev profile, konsole drucke so viele logs und warne, dass ich nie 'java -jar XXX.jar' benutze, und sag mir' APPLICATION FAILED TO START' aber build success. 'mvn spring-boot: run -Drun.profiles = dev' und' java -jar -Dressing.profiles.active = dev XXX.jar' ist gleich, 'mvn spring-boot: run' und' java -jar 'kann laufen well.i öffnen Debug-Modus versehentlich ??? – twogoods

+0

Die Reihenfolge ist falsch, 'java -jar XXX.jar --spring.profiles.active = dev' macht ** nicht ** das Profil auf dev. Sie müssen 'java -jar -Dspring.profiles.active = dev XXX verwenden.jar' – francis

+0

ich habe 'java -jar -Despring.profiles.active = dev XXX.jar' Konsole verwendet, um viele Protokolle zu drucken, warnt und debuggt und konnte nicht gestartet werden. 'java -jar XXX.jar --spring.profiles.active = dev' diese Reihenfolge ist falsch, aber auch die Konsole druckt viele Logs, warnt und debuggt, genauso wie' java -jar -Dspring.profiles.active = dev XXX. jar'.und ich habe versucht, den Quickstart in Dokumenten, beide Reihenfolge ist in Ordnung kann das Profil auswählen .springboot Version ist 1.4.1 – twogoods