思路为,先排除所有版本的文件,然后在根据命令动态加载其中一个或者多个
多环境结构
最外层propertise如下(activatedProperties 以下三处需一致):
# 指定执行环境
#app
#<!-- activatedProperties1 -->
spring.profiles.active=@activatedProperties@
sit的properties如下,其余类型:
#app
server.port=8899
server.servlet.context-path=/one-million-sit
pom配置
1.声明文件(profiles和dependencies,build标签同级)
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<!-- activatedProperties2 -->
<activatedProperties>dev</activatedProperties>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sit</id>
<properties>
<activatedProperties>sit</activatedProperties>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<activatedProperties>prod</activatedProperties>
</properties>
</profile>
</profiles>
2.加载排除文件(build标签内)
<resource>
<!-- 声明文件 -->
<directory>src/main/resources/assembly</directory>
<filtering>true</filtering>
<!-- 排除文件 -->
<excludes>
<exclude>**/sit/**</exclude>
<exclude>**/prod/**</exclude>
<exclude>**/dev/**</exclude>
</excludes>
</resource>
<resource>
<!-- activatedProperties3 -->
<directory>src/main/resources/assembly/${activatedProperties}</directory>
</resource>
3,maven带参数打包
clean install -Psit即为所选环境,切换的话改-P后面的值即可
*.properties中可通过 ${param}实现参数之间的引用。
如需在代码中使用,见其他博客
springboot加载properties:https://blog.csdn.net/thc1987/article/details/78789426