maven 打包时动态替换properties资源文件中的配置值
pom build节点下面添加resource配置:
- <resources>
- <resource>
- <directory>src/main/resources/</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*.properties</include>
- </includes>
- </resource>
- <resource>
- <directory>src/main/resources/</directory>
- <filtering>false</filtering>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。
上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。
接下来我们配置两个profile,一个是测试环境,一个是正式环境配置:
- <profiles>
- <profile>
- <id>dev</id>
- <properties>
- <jest.urls>http://n2:9200,http://n4:9200</jest.urls>
- </properties>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>production</id>
- <properties>
- <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>
- </properties>
- </profile>
- </profiles>
我们再在src/main/resources目录下面创建一个config.properties文件,内容如下:
jest.urls=${jest.urls}
然后我们执行maven打包命令:clean package -DskipTests -Pdev
查看对应的jar包里面的config.properties文件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值。
转载于:https://www.cnblogs.com/exmyth/p/7156298.html
maven 打包时动态替换properties资源文件中的配置值相关推荐
- 利用MAVEN打包时,如何包含更多的资源文件
首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...
- 读取properties资源文件中的参数
properties资源文件是放在resource目录下的: 新建工具类: package com.demo.utils;import java.io.InputStream; import java ...
- 根据Spring上下文对象xxxContext获得*.properties属性文件中的配置属性值
最近写了一个文件上传和下载的简单测试demo,对于这种需要部署在服务器上的,而不是随便在本机上跑跑的那种,对于上传和下载的目录路径的选择和配置尤为重要,这个不能在代码里面写死,必须是灵活可配置的. 一 ...
- maven 打包时异常 <找不到符号 [ERROR] 符号: 方法>
被依赖项目没有打包到本地仓库 或者没有上传到远程仓库 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-pl ...
- maven 打包时缺少文件_(三)Java资源文件和路径相关扫盲
本来打算接着上文直接写登录功能的,顺便介绍下SpringSecurity,但是SpringSecurity和Spring以及SpirngBoot是如何衔接的又是个较为复杂的事情.看了下SpringBo ...
- idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml,
第一种错误 :idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml, 解决方案如下:将ma ...
- 【Java数据库】使用properties资源文件,简化数据库连接
添加properties配置文件 使用properties配置文件,可以避免在修改密码时频繁修改代码,只需修改配置文件即可. 目录结构 如上图,在src目录下新建一个db.properties,内容如 ...
- Maven打包时去掉项目版本号
Maven打包时去掉项目版本号 Maven打包后,jar或war文件名里带有版本号信息,如projectname0.0.1-SNAPSHOT.jar等,怎么去掉呢? 解决办法: 打开项目pom.xml ...
- Maven打包时出现程序包不存在和test相关报错
Maven打包时出现程序包不存在和test相关报错 1.程序包不存在的问题 例如打包失败后报错情况如下: 程序可编译执行,但是打包存在问题.通过查看maven列表可以看到相关依赖包也导入成功,可能是m ...
最新文章
- 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
- 小程序仿安卓动画滑动效果滑动动画效果实现
- 比特币现金(BCH)和比特币(BTC)之争到底在争些什么?
- python3 中 布尔 bool 类型转换
- python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...
- 【阿里云课程】1小时快速掌握Tensorflow核心功能,完成完整的项目实践
- Restrict Users to Use Old Passwords
- 机器学习算法与Python实践之(二)k近邻(KNN)
- 万字总结!springcloud分布式限流
- python迷宫算法及实现_Python迷宫递归算法
- 学习重要,还是学会学习重要
- 几款4Gb光纤连接产品对比
- Process Kill Technology Process Protection Against In Linux
- git上传代码前需要检查什么_肝功能检查前需要做什么准备?这6个要点需做好,以免准确度受影响...
- 流程图绘制软件 EDraw Mind Map
- Linux下用ffmpeg轉PSP影片 (MP4/AVC格式)
- v中国瓶装水市场营销状况与销售动态分析报告2022-2027年
- 网易卡搭python_网易卡搭编程
- 锐捷服务器虚拟化技术_锐捷RG-RCD6000 V2云课堂云主机
- 追MM“23式”—— GOF 23种设计模式