69.6 Set the active Spring profiles
The Spring Environment
has an API for this, but normally you would set a System property (spring.profiles.active
) or an OS environment variable (SPRING_PROFILES_ACTIVE
). E.g. launch your application with a -D
argument (remember to put it before the main class or jar archive):
$ java -jar -Dspring.profiles.active=production demo-0.0.1-SNAPSHOT.jar
In Spring Boot you can also set the active profile in application.properties
, e.g.
spring.profiles.active=production
A value set this way is replaced by the System property or environment variable setting, but not by the SpringApplicationBuilder.profiles()
method. Thus the latter Java API can be used to augment the profiles without changing the defaults.
See [Chapter 25, _Profiles](http://docs.spring.io/spring-boot/docs/1.4.1.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-profiles)_ in the ‘Spring Boot features’ section for more information.