开发喵星球

若依如何区分不同环境下配置文件?(九十三)

当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而spring.profiles.active=@profiles.active@是配合maven profile进行选择不同配置文件进行启动,可以避免修改文件,而在maven打包是指定使用哪个配置文件。

1、配置pom.xml,定义不同环境配置属性

<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>

2、修改对应的配置文件

# 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}

3、打包测试

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。

   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2024-01-05 09:27:49 阅读量:171
<<   >>


powered by kaifamiao