web-dev-qa-db-fra.com

Application.yml prend-il en charge les variables d’environnement?

J'ai essayé d'utiliser des variables env dans mon configration application.yml comme:

spring:
  main:
    show_banner: false

---

spring:
  profiles: production
server:
  address: $OPENSHIFT_DIY_IP
  port: $OPENSHIFT_DIY_PORT

mais les variables env ne sont pas résolues. Dois-je fournir une notation différente?

Dans Rails, vous pouvez par exemple utiliser <% = ENV ['FOOVAR']%>

La seule alternative est de lancer l'application comme:

Java -jar my.jar --server.address=$OPENSHIFT_DIY_IP --server.port=$OPENSHIFT_DIY_PORT
73
Marcel Overdijk

Essayez ${OPENSHIFT_DIY_PORT} (la notation habituelle de l'espace réservé Spring). Voir ici pour les documents.

103
Dave Syer

Vous pouvez même ajouter une valeur par défaut si la variable d’environnement n’est pas fournie:

logging:
  level:
    root: ${LOGGING_LEVEL_ROOT:info}
46
Alex Efimov