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 @   借你耳朵说爱你  阅读(1828)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示