文章目录

概要

在日常开发发布中,经常会在本地环境与线上环境中切换,传统方式是每次切换的时候手动修改一下pom.xml文件,比较麻烦:

spring:
  application:
    name: promotion
  profiles:
    # 环境配置
    active: dev #或者手动改 prod

在这里插入图片描述
通过修改主配置文件中的profiles.active,去加载不同环境的配置文件。
本文将介绍一种不需要修改配置文件的方法,达到动态切换的效果,会方便很多。

技术细节

首先在pom.xml中加入:

<profiles>
   <profile>
        <id>dev</id>
        <properties>
            <env>dev</env>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <env>prod</env>
        </properties>
    </profile>
</profiles>

这里把环境分成了dev和prod两套,其中关键变量是env,在application.yml中需要对应一下:

spring:
  application:
    # 应用名称
    name: promotion
  profiles:
    # 环境配置
    active: @env@

这里把active的内容替换成了一个变量@env@
接下来就是打包或者运行前的环境切换了:
在这里插入图片描述

在打包或者本地调试时,只需要选中自己想用的环境即可,但需要注意一个小坑,在第一次切换后,需要先点击一下上图左上角被红框框选的加载图标才能加载到最新环境,这里需要细心观察一下,最好的习惯是切换后,点击maven刷新,再去启动或者打包。
在这里插入图片描述
如果非要两个环境都勾选,那么生效的应该是最后的一套环境:
在这里插入图片描述
这里运行会发现,环境变量是prod

Logo

一站式 AI 云服务平台

更多推荐