背景
spring boot允许你通过命名约定按照一定的格式application-{profile}.properties
来定义多个配置文件,然后通过在application.properyies
通过spring.profiles.active
来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties
。
实现
工程目录结构
|--- src
| |--- main
| | |--- resources
| | | |--- application.properties
| | | |--- config
| | | | |--- application-dev.properties
| | | | |--- application-sit.properties
application.properties
# 设置默认的profiles
spring.profiles.active=dev
application-dev.properties
spring.datasource.url=jdbc://localhost/maven-profiles-starter-dev
spring.datasource.username=root
spring.datasource.password=root
application-sit.properties
spring.datasource.url=jdbc://localhost/maven-profiles-starter-sit
spring.datasource.username=root
spring.datasource.password=root
启动命令
# --spring.profiles.active指定生效的配置文件
java -jar maven-profiles.jar --spring.profiles.active=sit
继承maven配置
maven profiles配置
<profiles>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<!-- 设置默认激活的配置 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sit</id>
<properties>
<env>sit</env>
</properties>
</profile>
</profiles>
application.properties
# 设置默认的profiles@env@继承maven的profiles>profile>properties>env
spring.profiles.active=@env@
打包命令
# sit环境打包
mvn clean package -P sit
# 执行命令
java -jar maven-profiles.jar