SpringBoot项目在不同环境下的配置以及打包方式

一、概述

  配置三个配置文件,只需要打包的时候,根据不同环境打包不同的配置文件
    application.yml 是启动服务时,Spring会自动加载的配置文件
    application-dev.yml 代表的是开发环境时的配置文件
    application-test.yml 代表的是生产环境的配置文件

 

 

二、配置文件的加载设置

  在服务启动时,Spring会自动加载application.yml,所以我们只需在这个配置文件中设置,需要哪个就加载哪个就好了。
  在服务启动加载的时候,服务器就会加载application.yml文件,然后通过配置去调用application-dev.yml文件,加载开发环境配置。当active: test,那么服务在启动时,Spring就会调用application-test.yml文件,加载测试环境配置。

三、Maven不同环境的打包

  进行动态的调用不同的配置文件,前提条件是拥有多个配置文件
  首先来进行配置pom.xml

<profiles> <!--与build标签同级别,放在project标签中-->
    <!--这是开发环境-->
    <profile>
        <id>dev</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <activatedEnv>dev</activatedEnv>
        </properties>
        <activation>
            <!-- 默认环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--这是测试环境-->
    <profile>
        <id>prod</id>
        <properties>
            <activatedEnv>prod</activatedEnv>
        </properties>
    </profile>
</profiles>

  然后application.yml 配置动态的使用

spring:
  profiles:
    active: @activatedEnv@

  @activatedEnv@ ,使用的就是我们在pom.xml里设置的<activatedEnv> ,当需要Maven打包时,就会用这个值

  打包开发环境(删除原有的包,排除test文件夹的内容,使用开发环境配置打包):

mvn clean package -P dev -Dmaven.test.skip=true

  打包测试环境:

mvn clean package -P test -Dmaven.test.skip=true

  根据需要两者选其一吧,当然打包语句略有不同。

  PS:转===》https://blog.csdn.net/m0_51295655/article/details/121779530

posted @ 2022-08-21 21:04  借你耳朵说爱你  阅读(1633)  评论(0编辑  收藏  举报