当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而spring.profiles.active=@profiles.active@是配合maven profile进行选择不同配置文件进行启动,可以避免修改文件,而在maven打包是指定使用哪个配置文件。
<profiles>
<profile>
<!-- 本地环境 -->
<id>dev</id>
<properties>
<spring.profile>dev</spring.profile>
<nacos.server.address>127.0.0.1:8848</nacos.server.address>
</properties>
<activation>
<!-- 是否默认激活 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<spring.profile>test</spring.profile>
<nacos.server.address>120.120.120.120:8848</nacos.server.address>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<spring.profile>prod</spring.profile>
<nacos.server.address>http://ruoyi.vip:8848</nacos.server.address>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
# Tomcat
server:
port: 9201
# Spring
spring:
application:
# 应用名称
name: ruoyi-system
profiles:
# 环境配置
active: @spring.profile@
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: @nacos.server.address@
config:
# 配置中心地址
server-addr: @nacos.server.address@
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-{spring.profiles.active}.{spring.cloud.nacos.config.file-extension}
mvn clean package -P dev
mvn clean package -P test
mvn clean package -P prod
打包成功后会进行对应的替换,例如使用test环境打包,配置文件的@nacos.server.address@会被替换成pom.xml测试配置环境变量nacos.server.address值120.120.120.120:8848。
powered by kaifamiao