前提:
项目引入了nacos,链接:SpringCloud 项目整合Nacos详细步骤
步骤一 :在父pom.xml里面添加profiles 配置
<!-- 打包方式 pom-->
<packaging>pom</packaging>
<properties>
... ...
</properties>
<!-- profiles 配置 https://blog.csdn.net/wuqinglihhh/article/details/120327572-->
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<project.active>dev</project.active>
<!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
<nacos.namespace>2d4de... ...dffad51fe7</nacos.namespace>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<project.active>prod</project.active>
<!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
<nacos.namespace>4d2e0... ...d78cea2399fd</nacos.namespace>
</properties>
</profile>
</profiles>
步骤二 :在父pom.xml里面,build里面设置资源路径
<!-- 打包方式 pom-->
<packaging>pom</packaging>
<properties>
... ...
</properties>
<profiles>
... ...
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
步骤三 :因为我引入了nacos,bootstrap.yml文件可以更改写配置
server:
port: 6002
spring:
application:
name: sign-work # 应用名称
profiles:
active: @project.active@ # 环境配置
main:
allow-bean-definition-overriding: true # 允许覆盖bean定义
cloud: # could-nacos注册中心配置
nacos:
discovery:
server-addr: ${NACOS-HOST:101.11.22.109}:${NACOS-PORT:8848} # 服务注册地址
namespace: @nacos.namespace@
config:
enabled: true # 不想使用Nacos进行配置管理,设置为 false 即可,默认true
server-addr: ${spring.cloud.nacos.discovery.server-addr} # nacos配置中心地址,注意:结尾不能带斜杠 /
namespace: @nacos.namespace@
file-extension: yml
prefix: ${spring.application.name} # 尽量和应用名称一致
步骤四 :在maven中进行动态选择