温馨提示:
本文最后更新于 2022年12月13日,已超过 48 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
<!-- Maven控制Spring Profile -->
<profiles>
<!--默认开启dev-->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profileActive>dev</profileActive>
</properties>
<build>
<!-- 产生的构件的文件名,默认值是${artifactId}-${version}-->
<finalName>${project.artifactId}</finalName>
</build>
</profile>
<profile>
<id>pro</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profileActive>pro</profileActive>
</properties>
<build>
<!-- 产生的构件的文件名,默认值是${artifactId}-${version}-->
<finalName>${project.artifactId}</finalName>
</build>
</profile>
</profiles>
根据先后顺序优先级配置
<build>
<!-- profile对资源的操作 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>application*.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- 是否替换@xx@表示的maven properties属性值 -->
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${profileActive}.yml</include>
</includes>
</resource>
</resources>
</build>
多环境配置文件相关文件为:
spring:
profiles:
active: '@profileActive@'
然后根据需要,新增application-dev.yml,application-pro.yml即可
在IDEA中,点击刷新即可选择编译环境:
打包命令
mvn clean install package -P pro -Dmaven.test.skip=true
mvn clean install package -P dev -Dmaven.test.skip=true