1. pom配置
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 其他配置 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 只打包指定环境的配置文件 -->
<includes>
<include>application-${profile.active}.properties</include>
<include>application.properties</include>
</includes>
<!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 -->
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<profile.active>dev</profile.active>
</properties>
<!-- 默认环境 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>long</id>
<properties>
<profile.active>long</profile.active>
</properties>
</profile>
<profile>
<id>sit</id>
<properties>
<profile.active>sit</profile.active>
</properties>
</profile>
</profiles>
</project>
2. application配置
yaml
spring:
profiles:
active: @profile.active@
此处的 profile.active 与 上述 pom.xml 配置文件中的 properties 属性一致
3. 打包
bash
mvn clean package -Plong -Dmaven.test.skip=true
-Plong:指定打包的环境为 long
4. 注意
因为在 pom 文件中,修改了打包配置,只会打包进指定环境的配置文件,所以在启动时不用再指定环境参数了