IDEA 配合 maven 多环境配置 springboot 原理说明

文章说明. 原理解析其实不准确
目前网络上 只是告诉你怎么配置, 千篇一律, 遇到问题并不知道问题在哪, 如何解决
这篇文章就是告诉你, 说明为什么需要这么配置, 影响的地方在哪

1. IDEA 添加不同环境配置说明

在这里插入图片描述

  • profiles: 环境合集
    • profile 环境 这里配置了, idea上的maven就会出现环境选择项
      • id: 环境选择项的名称, 你自己看的懂是什么配置环境就OK
      • properties: 属性合集 作用: 这里放到打包的时候说

2. 打包不同环境说明

在这里插入图片描述

  • build 打包信息
  • resources 指明资源文件夹合集
    • resource 资源信息
      • directory 指明资源文件目录在哪
      • filtering 这个参数很重要, 跟 3. 运行不同环境配置说明 有关, 跟2关系不大
      • excludes 包含哪些文件
      • includes 不包含哪些文件

在这里插入图片描述
打包的时候, 选中环境, 看控制台, 后面会加上一个 -P 的打包参数
通过 mvn --help 得出这个 -P 的完整意思如下
在这里插入图片描述

-P,--activate-profiles <arg>           Comma-delimited list of profiles

即 激活环境参数的简写

例如这里 激活了 dev 环境. 那么其实就在编译的时候附带上了 properties 里面的所有属性
这时候 properties 的属性就可以在 yml 文件中通过 @变量@ 进行获取
在这里插入图片描述

当我的激活环境是 dev 则获取其附带的参数 profile.active = dev

需要注意的是在 yml 中通过 @变量@ 获取
在 pom.xml 中, 则是通过 ${变量} 获取

3. 运行不同环境配置说明

在这里插入图片描述

实际上这里添加的运行参数是 -Dspring.profiles.active=dev
这里表面上看, -Dspring.profiles.active 其实等价于 -P 参数
所以这里添加的意思是: 运行xxx环境

说下 filtering 作用

filtering 是运行过程中
让 yml文件 可以通过 @变量@ 获取 运行时的参数

在这里插入图片描述
上图这里运用到了环境变量
所以要在这里加上filtering参数

常见问题

问题一: yml 不识别 @变量@
在这里插入图片描述
解决办法:

  1. 加上filtering参数
  2. plugin 加上 delimiters 节点
    在这里插入图片描述

本篇文章纯属个人测试后的理解
希望帮助各位理解 DEA 配合 maven 多环境配置
有什么理解不到位的地方请指正

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值