当前位置: 首页 > news >正文

Spring 配置文件动态读取pom.xml中的属性

需求:
配置文件中的 spring.profiles.active=${env}需要打包时动态绑定。

一、方案:

  1. 在pom.xml文件中配置启用占位符替换
 <profiles><!-- 本地开发 --><profile><id>dev</id><properties><env>dev</env></properties><activation><activeByDefault>true</activeByDefault></activation></profile><!-- 其他环境 --></profiles><build><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources>
</build>

Maven 中 <filtering> 的默认值是 false。这意味着在复制资源文件时,Maven 不会对文件进行占位符替换(即过滤)。

  1. 在配置文件中配置 spring.profiles.active=@env@或者 spring.profiles.active=${env}
  2. 打包时选择环境 mvn clean package -Pprod
    • -P 参数用于激活 Maven 构建中的特定配置文件(profile)

二、自定义占位符

如果担心冲突,那么可以自定义占位符。

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version><configuration><delimiters><delimiter>#{</delimiter><delimiter>}</delimiter></delimiters><useDefaultDelimiters>false</useDefaultDelimiters></configuration></plugin></plugins>
</build>
http://www.lryc.cn/news/468828.html

相关文章:

  • Konva 组,层级
  • vue图片加载失败的图片
  • 终止,半成收入来自海外,收入可持续性被质疑
  • 日常记录,使用springboot,vue2,easyexcel使实现字段的匹配导入
  • Unable to open nested entry ‘********.jar‘ 问题解决
  • 反编译华为-研究功耗联网监控日志
  • 线程池——Java
  • java 17天 TreeSet以及Collections
  • JavaScript 第27章:构建工具与自动化
  • Android原生ROM出现WIFI显示网络连接受限,网络无法连接的问题
  • 如何实现网页上的闪烁效果
  • 事件总线—Event Bus 使用及讲解
  • 信息安全工程师(67)网络流量清洗技术与应用
  • 【项目】论坛系统测试
  • XJ02、消费金融|消费金融业务模式中的主要主体
  • 基于神经网络的农业病虫害损失预测
  • 【DSP】TI 微控制器和处理器的IDE安装CCSTUDIO
  • Web应用框架-Django应用基础
  • qt QMainWindow详解
  • 第二单元历年真题整理
  • Ubuntu下载protobuf
  • 【算法优化】混合策略改进的蝴蝶优化算法
  • 什么是标准差?详解
  • C++20中头文件syncstream的使用
  • 判断特定时间点开仓的函数(编程技巧)
  • 如何新建一个React Native的项目
  • 学习--图像信噪比
  • 【2024CANN训练营第二季】使用华为云体验AscendC_Sample仓算子运行
  • 使用 NumPy 和 Matplotlib 实现交互式数据可视化
  • TCP 攻击为何在 DDoS 攻击中如此常见