2016-10-15 13 views
10

mam application.yml, application-dev.yml i application-dev.ymljak używać Wiosna Boot profile

  1. Używam polecenia maven mvn spring-boot:run -Dspring.profiles.active=dev to nie działa i nie mogę wybrać profil dev korzystając mvn spring-boot:run. Jak mogę to wybrać?
  2. Dokumentacja mówi, że java -jar XXX.jar --spring.profiles.active=dev działa i próbowałem -Dspring.profiles.active=dev, ale to nie działa. A w moim projekcie używam java -jar XXX.jar działa, ale jeśli mogę użyć java -jar XXX.jar --spring.profiles.active=dev wybrać profil dev, drukować konsoli tak wiele dzienników i ostrzega, że ​​nie widzę wykorzystywane java -jar XXX.jar i powiedz mi APPLICATION FAILED TO START

tak jak rozwiązać dwa problemy? dzięki ~

Odpowiedz

0

Możesz określić właściwości zgodnie z profilami w jednym application.properties (yml) jak here. Następnie mvn clean spring-boot:run -Dspring.profiles.active=dev powinien uruchomić go poprawnie. Działa to dla mnie

13

Nie jestem pewien, czy w pełni rozumiem pytanie, ale spróbuję odpowiedzieć, podając kilka szczegółów na temat profili w Spring Boot.

Dla przykładu nr 1, zgodnie z dokumentami, można wybrać profil za pomocą wtyczki Spring Boot Maven przy użyciu -Drun.profiles.

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

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

ze swojego Przykład # 2, definiowania aktywny profil po nazwie słoika. Musisz podać argument JVM przed nazwą używanego słoika.

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

Informacje ogólne:

można wspomnieć, że mają znaczenie zarówno application.yml a application-dev.yml. Uruchomienie z profilem dev spowoduje załadowanie obu plików konfiguracyjnych. Wartości z application-dev.yml zastąpią te same wartości podane przez application.yml, ale zostaną załadowane wartości z obu plików yml.

Istnieje również wiele sposobów definiowania aktywnego profilu.

Możesz je zdefiniować tak, jak robiłeś, używając -Dspring.profiles.active podczas uruchamiania słoika. Możesz także ustawić profil przy użyciu zmiennej środowiskowej SPRING_PROFILES_ACTIVE lub właściwości systemowej spring.profiles.active.

Więcej informacji można znaleźć tutaj: http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html#howto-set-active-spring-profiles

+0

dzięki, tak, jak proponowały powinno być ok, ale jak mówię używam 'java -jar XXX.jar --spring.profiles.active = dev' do wybierz profil dev, konsola wypisze tyle dzienników i ostrzega, że ​​nigdy nie widzę używanego 'java -jar XXX.jar' i mówię' APLIKACJA NIE ZOSTAŁA ZAKOŃCZONA ', ale odniosłem sukces. 'mvn spring-boot: run -Drun.profiles = dev' i' java -jar -Dspring.profiles.active = dev XXX.jar' są takie same, 'mvn spring-boot: run' i' java -jar 'mogą działać well.i przypadkowo otworzyć tryb debugowania ??? – twogoods

+0

Kolejność jest błędna, 'java -jar XXX.jar --spring.profiles.active = dev' robi ** nie ** ustawia profil na dev. Musisz użyć 'java -jar -Dspring.profiles.active = dev XXX.jar ' – francis

+0

Używam' java -jar -Dspring.profiles.active = dev XXX.jar' console wydrukować wiele dzienników, ostrzega i debugowania, i nie udało się uruchomić. 'java -jar XXX.jar --spring.profiles.active = dev' ta kolejność jest błędna, ale także konsola wypisuje wiele dzienników, ostrzega i debuguje, tak samo jak użyj' java -jar -Dspring.profiles.active = dev XXX. jar'. i mam wypróbować quickstart w dokumentach, obie zamówienia są ok mogą wybrać profil .springboot wersja 1.4.1 – twogoods

Powiązane problemy