J'essaie de définir l'environnement de mon application Spring Boot (1.5.4.RELEASE) au moment de l'exécution, mais il semble que quelque chose ne soit pas aligné.Environnement VM arg passé à bootRun n'étant pas détecté par l'application Spring Boot
Mon application.yml est défini comme ceci:
spring:
profiles.active: ${env:local}
---
spring:
profiles: local
foo: bar
---
spring:
profiles: dev
foo: bar
Dans une classe que j'ai annoté @Configuration, j'ai une méthode qui effectue les opérations suivantes que je peux montrer l'environnement qui est utilisé :
@Value('${spring.profiles.active}')
String activeProfile
@PostConstruct
def bootComplete() {
println "App started with profile: $activeProfile"
}
dans cette configuration, lorsque mon application démarre, je vois cela dans la console:
App started with profile: local
Si je modifie $ {env: locale} être $ {env: dev} dans mon application.yml et je commence l'application, je vois cela dans la console:
App started with profile: dev
Mon but est de démarrer l'application avec des arguments VM pour définir le profil actif lors de l'exécution. J'ajoute l'argument: -Denv = dev mais il semble qu'il n'a aucun effet sur le démarrage de l'application. Quelqu'un peut-il suggérer ce que je pourrais négliger ici?
Merci pour votre contribution. Malheureusement, j'ai commencé avec -Dspring.profiles.active = dev, et je vois toujours le profil actif comme local. –