maven顶级父工程的pom.xml的跟节点添加profiles:
<profiles>
<profile>
<id>dev</id>
<properties>
<menv>dev</menv>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<menv>prod</menv>
</properties>
</profile>
</profiles>
resources目录下的application.properties内容如下:
spring.profiles.active=@menv@ #使用@menv@,而不是${menv},因为spring-boot为了保护application.yml和application.properties,修改了默认的占位符${...}为@...@
resources目录下新建application-dev.properties和application-prod.properties两个配置文件,内容就填以前你在单环境下application.properties填写的内容。
注意点:
1.不要使用resource.delimiter修改占位符,修改之后虽然,可以spring.profiles.active=${menv}
完成替换,但项目启动时会莫名其妙报错,拿不到application-dev.properties和application-prod.properties里的数据源。
<resource.delimiter>${}</resource.delimiter>