原创

SpringBoot 多环境设置 active: @profileActive@

温馨提示:
本文最后更新于 2023年02月03日,已超过 441 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

pom配置

增加@解析符

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <delimiters>
            <delimiter>@</delimiter>
        </delimiters>
        <useDefaultDelimiters>false</useDefaultDelimiters>
    </configuration>
</plugin>

spring profile配置

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

根据先后顺序优先级配置

resources 配置

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

配置文件

多环境配置文件相关文件为:

  • application.yml 默认配置文件,需要通过此文件去引用其他配置文件
  • application-dev.yml 开发环境
  • application-pro.yml 生产环境
  • application-test.yml 测试环境

application.yml配置

spring:
    profiles:
        active: '@profileActive@'

然后根据需要,新增application-dev.yml,application-pro.yml即可
file

在IDEA中,点击刷新即可选择编译环境:
file

mvn打包命令

打包命令

mvn clean install package -P pro -Dmaven.test.skip=true
mvn clean install package -P dev -Dmaven.test.skip=true
正文到此结束
本文目录