pom的配置如下(profiles部分)
<profiles>
<profile>
<id>dev</id>
<properties>
<activatedProperties>dev</activatedProperties>
</properties>
</profile>
<profile>
<id>local</id>
<properties>
<activatedProperties>local</activatedProperties>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>production</id>
<properties>
<activatedProperties>production</activatedProperties>
</properties>
</profile>
</profiles>
yml的引入部分
spring:
profiles:
active: ${activatedProperties}
注意:这个部分你会发现打包之后不会自动引入
原因如下
maven 继承了 spring-boot-starter-parent,并且 spring 的占位符也是 ${key}, 导致 mavenfilter 的占位符被 spring 的 maven pom 替换掉了,变成了 @key@,我们可以通过resource.delimiter来覆盖它。(我没成功)
所以
spring: profiles: active: @activatedProperties@
这样就行了