Spring Boot中通过maven进行多环境配置

上文 java Spring Boot将不同配置拆分入不同文件管理 中 我们说到了,多环境的多文件区分管理

说到多环境 其实不止我们 Spring Boot有 很多的东西都有

那么 这就有一个问题

如果 spring 和 maven 都配置了环境 而且他们配的不一样 那么 会用谁的呢?

此时 我们就要分清 他们两个是谁依赖谁? 谁可以自己跑起来 谁离了对方就运行不了了

那么 显然是 Spring要依赖maven

我们打开 IDEA 运行项目 我的 application.yml 中代码是这样

xml 复制代码
spring:
  profiles:
    active: dev
    group:
      "dev": devMVC
      "prm": devMVC

这里 我们选择了dev 开发环境

然后 配置group选择devMVC文件

然后我们启动项目

看控制台的输出 也是没有任何问题

那么 我们打开项目的配置文件 pom.xml

在这里面写环境配置

参考代码如下

xml 复制代码
<profiles>
    <profile>
        <id>gr_dev</id>
        <properties>
            <profile.active>dev</profile.active>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>gr_prm</id>
        <properties>
            <profile.active>prm</profile.active>
        </properties>
    </profile>
</profiles>

这里 我们设置了两个变量 名字分别是 gr_prm和gr_dev 这个名字随便取 看你心情

然后 他们分别指向环境 prm和dev

然后 给gr_dev 设置了activation.activeByDefault 为true 表示默认启动

然后 我们配置文件application.yml改成这样

xml 复制代码
spring:
  profiles:
    active: @profile.active@
    group:
      "dev": devMVC
      "prm": devMVC

通过标识符 @代理名@ 指向读取的环境属性

弄好之后呢 我们直接打包

这边 target出来之后 我们直接在电脑中打开这个目录看

进入 这个 target目录下 用解压包管理工具打开这个 jar包

打开里面的 BOOT-INF下的 classes 下的 application.yml

可以看到 active 他就直接给你编译成dev了

为了证明 我们打开pom.xml 将默认启动的配置改到下面来 我们默认用这个 prm

然后 我们重新打包一下

然后 我们重新打开target下 的jar包下的BOOT-INF下的 classes 下的 application.yml

这里很明显就生效了

但这里我需要提前说明 如果你在 idea 中运行项目 这个配置是有问题的 只有打包出来这个配置才有用

相关推荐
llz_1127 分钟前
web-第四次课后作业
前端·spring boot·web
程序员三藏1 小时前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
一杯奶茶¥1 小时前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
在放️1 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
不能只会打代码1 小时前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月14日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
JOJO数据科学4 小时前
JupyterLab Electron 鸿蒙 PC 适配全记录:从 Python 原生崩溃到 node-static 本地工作台
python·electron·harmonyos
xufengzhu4 小时前
第三方 Python 库 redis-py + hiredis 的使用
开发语言·redis·python
编程的一拳超人5 小时前
Maven 国内高速镜像推荐(按速度排序)
java·maven
llxxyy卢5 小时前
polar夏季赛部分题目
开发语言·python