maven 打包时动态替换properties,xml资源文件中的配置值

2023-11-18

pom build节点下面添加resource配置:

[html]  view plain copy
  1. <resources>  
  2.            <resource>  
  3.                <directory>src/main/resources/</directory>  
  4.                <filtering>true</filtering>  
  5.                <includes>  
  6.                    <include>**/*.properties</include>  
  7.                </includes>  
  8.            </resource>  
  9.            <resource>  
  10.                <directory>src/main/resources/</directory>  
  11.                <filtering>false</filtering>  
  12.                <includes>  
  13.                    <include>**/*.xml</include>  
  14.                </includes>  
  15.            </resource>  
  16.        </resources>  
[html]  view plain copy
  1.   
resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。

上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。

接下来我们配置两个profile,一个是测试环境,一个是正式环境配置:

[html]  view plain copy
  1. <profiles>  
  2.         <profile>  
  3.             <id>dev</id>  
  4.             <properties>  
  5.                 <jest.urls>http://n2:9200,http://n4:9200</jest.urls>  
  6.             </properties>  
  7.             <activation>  
  8.                 <activeByDefault>true</activeByDefault>  
  9.             </activation>  
  10.         </profile>  
  11.   
  12.         <profile>  
  13.             <id>production</id>  
  14.             <properties>  
  15.                 <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>  
  16.             </properties>  
  17.         </profile>  
  18.     </profiles>  

我们再在src/main/resources目录下面创建一个config.properties文件,内容如下:

jest.urls=${jest.urls}

然后我们执行maven打包命令:clean package -DskipTests -Pdev

查看对应的jar包里面的config.properties文件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven 打包时动态替换properties,xml资源文件中的配置值 的相关文章

  • [Unity][Aniamtor&Animation]动画状态机设置自定义脚本StateMachineBehaviour

    对状态机设置自定义脚本StateMachineBehaviour 这种脚本能够实现什么 优点 通过Animator的状态机就可以实现 敌人AI NPC AI 可以在对应状态机 的动画进行 播放 的时候 生成 特效 音效 以及特定的物品 例如
  • Linux源码编译开启cgroup blk限制io性能

    编译选项 内核5 9 General Setup gt Control Group support gt io controller Enable the block layer gt Block layer bio throttling
  • mysql基本数据类型

    概述 要想学好mysql 了解其支持的基本数据类型以及内部原理是极为重要的 只有这样 我们才能根据不同的业务要求来选择不同的数据类型 实现最佳的存储效果和查询性能 因而本文就着重总结一下mysql支持的数据类型以及内部的存储原理 总体来说
  • Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks

    Abstract 卷积神经网络 cnn 被认为是一类有效的图像识别模型 然而 当利用CNN学习时空视频表示时 这并非不平凡 一些研究表明 执行3D卷积是一种捕获视频中时空维度的有益方法 然而 从头开始开发非常深的3d cnn会导致昂贵的计算
  • 《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.29. Coreutils-8.23...

    Coreutils 软件包包含用于显示和设置基本系统特性的工具 大概编译时间 2 5 SBU 需要磁盘空间 193 MB 6 29 1 安装 Coreutils POSIX 要求 Coreutils 中的程序即使在多字节语言环境也能正确识别
  • ChatGPT3.0、ChatGPT3.5和ChatGPT4.0版本。

    ChatGPT3 0版本是目前最先进的对话生成系统之一 已经在多个应用场景中得到了广泛应用 相较于以往的版本 ChatGPT3 0在模型规模和语言能力上都有了明显的提升 这一版本的模型包含了1 75万亿个参数 而且其生成的对话内容更加流畅
  • 性能优化点

    Arts and Sciences Computer Science myUSF 索引3层 高度为3 一般对于数据库地址千万级别的表 大于2000万的数据进行分库分表存储 JVM整体结构及内存模型 JVM调优 主要为减少FULL GC的执行
  • javascript下的protype

    了解下JavaScript中的prototype JS中的phototype是JS中比较难理解的一个部分 javascript的方法可以分为三类 类方法 对象方法 原型方法 例子 view sourceprint 01 function P
  • Vue3 从入门到放弃 (第二篇.创建第一个Web应用)

    上一篇讲到了 Vue3的一些前期准备和环境配置 Vue3 从入门到放弃 第一篇 环境准备 Meta Qing的博客 CSDN博客 今天我们来讲讲 项目结构以及各个文件介绍 并且创建我们第一个WEB应用 我们继续上一篇 创建完工程结构 目录介
  • DevOps 到底是什么到底是什么

    链接 https www zhihu com question 55874411 answer 608052871 DevOps 到底是什么 2018 年 我们走访了近百个分布在各行各业中的 IT 团队 意外的发现 大多数的 IT 团队寻求
  • React Native 环境搭建, 新建项目, 运行和调试

    React Native 可以理解为一个基于 JavaScript 具备动态配置能力 面向前端开发者的移动端开发框架 目前为止虽然一直还没有V1 0 0版本 但是相信很多小伙伴都了解过或者已经入坑了 为什么RN那么有人气呢 我们可以先简单分
  • 关于ScanNet数据集

    最近正在下载关于ScanNet的数据集 希望做一个深度的调查 以供自己学习 背景 作者是Angela Dai 是斯坦福大学的一名博士生 她最初的想法是 推动数据匮乏的机器学习算法的发展 特别是在 3D 数据上 Scannet数据采集框架 收
  • 神器CLIP为多模态领域带来了哪些革命?

    用日新月异来形容AI界的发展丝毫也不为过 Transformer大爆发 YOLOV7大杀四方 各种新SOTA仿佛随时都会冒出来 好像上一个新技术还没掌握 已经一脸懵的开始学习下一个新SOTA 科研er们不得不为了追逐最前沿技术在各个工作中疲
  • XMLParserException: XML Parser Error on line 11: 对实体 “characterEncoding“ 的引用必须以 ‘;‘ 分隔符结尾。解决方法

    今天使用mybatis逆向工程生成mysql数据库的代码时 报出了一个异常 org mybatis generator exception XMLParserException XML Parser Error on line 11 对实体
  • 将子域名连接到 Shopify 的步骤,也就是把不是www的域名链接到shopify商店,二级域名链接到shopify店铺

    将子域名连接到 Shopify 的步骤 1 Shopify 后台 首先 检查您的 Shopify 控制面板并验证您使用的是 Shopify 提供的免费域 也就是xxxxxxxxx myshopify com 这是至关重要的 因为它将帮助您在
  • 强化学习FJSP静态关于奖励函数的尝试

    动作设计 工序层面的规则现在主要考虑的是 加工最少的剩余工件 加工最多的剩余工件 还有那些 机器层面的规则 均匀规则 SPT LPT 还有那些 奖励 使用奖励函数为 减少动作空间的结果 说明动作空间需要取一个适当的值 太大不能收敛 太小不能
  • java中输入与输出的方法总结怎么写

    本文主要为大家总结了Java中输入输出的三种方法 并通过实例详细讲解了这些方法的使用方法 需要的朋友可以参考一下 目录 输入法 扫描仪 第一输入法 第二输入法 JOptionPane 第三输入法 io 控制台输出方法 第一个输出方法 Sys
  • 【Unity】自带的录屏插件Recorder

    目录 Recorder简介 Recorder导入 Recorder使用 Recorder简介 Recorder是Unity官方的录屏插件 可以直接录制Game窗口 还可以录制不同相机的视图 不仅可以直接生成视频 帧动画图 还可以制作gif和
  • 用c语言顺序表实现栈

    用c语言顺序表实现栈 栈 一种特殊的线性表 其只允许在固定的一端进行插入和删除元素操作 进行数据插入和删除操作的一端 称为栈顶 另一端称为栈底 栈中的数据元素遵守后进先出LIFO Last In First Out 的原则 压栈 栈的插入操
  • typescript 使用对象或数组的值或键创建联合类型

    前言 实际开发中我需要用到太多的键值对 并且有相当一部分情况下 键名是一个联合 而且还是某个数组的联合 然而早期 TS 对这样的联合实现并不是很理想 这几天又翻了翻 Stack Overflow 发现很多新答案 对此整理一下 后面的内容最主

随机推荐