思路爲,先排除所有版本的文件,然後在根據命令動態加載其中一個或者多個
多環境結構
最外層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