maven替换指定⽂件属性值
maven 替换指定⽂件属性值
问题由来
接到⼀个需求:组装 http 协议的时候在 header ⾥⾯带上 User-agent , 但是 agent ⾥⾯需要动态获取当前操作系统、系统架构、当前项⽬版本和名称。本着最少维护成本的想法,否定了⼿动维护静态变量的选择,所以只能选择通过现有的技术⾃动化解决问题。
实现步骤
1. 在项⽬的 resources ⽬录下创建 xx.properties ⽂件(也可以在⾃⼰喜欢的⽬录创建,不过稍后读取的时候会⽐较⿇烦,所以建议是
在 resources 下⾯创建),填写以下信息
论坛源码哪个好论坛源码排行榜
project.version=${project.version}
project.name=${project.name}
看名字就知道他们是什么意思了就不解释了
2. 在 pom ⽂件的 build 标签⾥填⼊相应信息
<build>
<resources>
<resource>
emqx安装视频教程
<directory>src/main/resources</directory>
<includes>
<include>xx.properties</include>linux的home分区有必要吗
c型钢配件名称及图片</includes>
<filtering>true</filtering>
</resource>
properties是什么文件
100个经典单片机设计实例
</resources>
</build>
directory:指定需要替换的⽂件⽬录
include:指定需要替换的⽂件(可以使⽤*.*来通配)
filtering:true 开启替换
3. 最后就是在代码⾥⾯读取配置
Properties props = Properties();
// 这⾥有个⼩问题 getSystemResourceAsStream 和 getResourceAsStream 是有区别的,前者如果打成 jar 被依赖的话会报xx.properties不到// 替代写法,场景不同可以选需要的写法
// props.load(ClassLoader().getResourceAsStream("xx.properties"));
props.SystemResourceAsStream("xx.properties"));
String name = Property("project.name");
String version = Property("project.version")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。