場景
在小型項(xiàng)目中,需要配置不同環(huán)境的配置文件。在spring boot中直接提供了運(yùn)行參數(shù)的方式。

image.png
如圖,如果想加載application-prod.properties的在運(yùn)行的加上參數(shù)--spring.profiles.active=prod。
整體的命令是
java -jar xxx.jar --spring.profiles.active=prod # 加載application-prod.properties
但缺點(diǎn)就是會(huì)將所有的配置文件都打包進(jìn)jar文件。如果生產(chǎn)環(huán)境比較敏感,那么一些賬戶密碼就泄露了。
因此可以采用maven的方式進(jìn)行打包。
<!-- 分環(huán)境打包配置文件 -->
<profiles>
<!-- 本地環(huán)境 -->
<profile>
<id>local</id>
<build>
<resources>
<resource>
<directory>src/main/resources/local</directory>
</resource>
</resources>
</build>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 開發(fā)環(huán)境 -->
<profile>
<id>dev</id>
<build>
<resources>
<resource>
<directory>src/main/resources/dev</directory>
</resource>
</resources>
</build>
</profile>
<!--測試環(huán)境-->
<profile>
<id>tests</id>
<build>
<resources>
<resource>
<directory>src/main/resources/tests</directory>
</resource>
</resources>
</build>
</profile>
<!--線上環(huán)境-->
<profile>
<id>prod</id>
<build>
<resources>
<resource>
<directory>src/main/resources/prod</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>tests/**</exclude>
<exclude>prod/**</exclude>
<exclude>dev/**</exclude>
<exclude>local/**</exclude>
</excludes>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
使用命令mvn clean package -Dmaven.test.skip=true -Pprod即可。