springboot多环境打包

2022-08-26 09:35
948
0

我们在切换不同环境的时候,如何能自动加载我们自己的文件呢,接下来我们来改造项目。

配置文件的命名规则

 

application.yml            公共部分不涉及其他环境信息

application-dev.yml      开发环境               

application-local.yml    本地环境               

application-test.yml     测试环境              

application-pre.yml      预生产环境             

application-prd.yml      生产环境         

 

注意:application.yml 主要是放我们共用的配置,在其他环境都是一样的。

2.在application.yml 指定我们的环境变量

spring:
  profiles:
    active: @profileActive@

如图所示:

 

3.配置maven中的pom文件

<profiles>
    <profile>
        <id>local</id>
        <properties>
            <profileActive>local</profileActive>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>pre</id>
        <properties>
            <profileActive>pre</profileActive>
        </properties>
    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <profileActive>dev</profileActive>
        </properties>
    </profile>
    <profile>
        <id>prd</id>
        <properties>
            <profileActive>prd</profileActive>
        </properties>
    </profile>
</profiles>

 

注意:想要指定当前配置的环境

 <activeByDefault>true</activeByDefault>

在打包时候动态过滤其他配置,只加载特定的文件

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>*.yml</exclude>
        </excludes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
            <include>application.yml</include>
            <include>application-${profileActive}.yml</include>
        </includes>
    </resource>
</resources>

 

全部评论