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

[html] view plaincopy
  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 plaincopy

resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。

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

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

[html] view plaincopy
  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. <profile>
  12. <id>production</id>
  13. <properties>
  14. <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>
  15. </properties>
  16. </profile>
  17. </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资源文件中的配置值相关推荐

  1. 利用MAVEN打包时,如何包含更多的资源文件

    首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...

  2. 读取properties资源文件中的参数

    properties资源文件是放在resource目录下的: 新建工具类: package com.demo.utils;import java.io.InputStream; import java ...

  3. 根据Spring上下文对象xxxContext获得*.properties属性文件中的配置属性值

    最近写了一个文件上传和下载的简单测试demo,对于这种需要部署在服务器上的,而不是随便在本机上跑跑的那种,对于上传和下载的目录路径的选择和配置尤为重要,这个不能在代码里面写死,必须是灵活可配置的. 一 ...

  4. maven 打包时异常 <找不到符号 [ERROR] 符号: 方法>

    被依赖项目没有打包到本地仓库 或者没有上传到远程仓库 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-pl ...

  5. maven 打包时缺少文件_(三)Java资源文件和路径相关扫盲

    本来打算接着上文直接写登录功能的,顺便介绍下SpringSecurity,但是SpringSecurity和Spring以及SpirngBoot是如何衔接的又是个较为复杂的事情.看了下SpringBo ...

  6. 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 ...

  7. 【Java数据库】使用properties资源文件,简化数据库连接

    添加properties配置文件 使用properties配置文件,可以避免在修改密码时频繁修改代码,只需修改配置文件即可. 目录结构 如上图,在src目录下新建一个db.properties,内容如 ...

  8. Maven打包时去掉项目版本号

    Maven打包时去掉项目版本号 Maven打包后,jar或war文件名里带有版本号信息,如projectname0.0.1-SNAPSHOT.jar等,怎么去掉呢? 解决办法: 打开项目pom.xml ...

  9. Maven打包时出现程序包不存在和test相关报错

    Maven打包时出现程序包不存在和test相关报错 1.程序包不存在的问题 例如打包失败后报错情况如下: 程序可编译执行,但是打包存在问题.通过查看maven列表可以看到相关依赖包也导入成功,可能是m ...

最新文章

  1. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
  2. 小程序仿安卓动画滑动效果滑动动画效果实现
  3. 比特币现金(BCH)和比特币(BTC)之争到底在争些什么?
  4. python3 中 布尔 bool 类型转换
  5. python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...
  6. 【阿里云课程】1小时快速掌握Tensorflow核心功能,完成完整的项目实践
  7. Restrict Users to Use Old Passwords
  8. 机器学习算法与Python实践之(二)k近邻(KNN)
  9. 万字总结!springcloud分布式限流
  10. python迷宫算法及实现_Python迷宫递归算法
  11. 学习重要,还是学会学习重要
  12. 几款4Gb光纤连接产品对比
  13. Process Kill Technology Process Protection Against In Linux
  14. git上传代码前需要检查什么_肝功能检查前需要做什么准备?这6个要点需做好,以免准确度受影响...
  15. 流程图绘制软件 EDraw Mind Map
  16. Linux下用ffmpeg轉PSP影片 (MP4/AVC格式)
  17. v中国瓶装水市场营销状况与销售动态分析报告2022-2027年
  18. 网易卡搭python_网易卡搭编程
  19. 锐捷服务器虚拟化技术_锐捷RG-RCD6000 V2云课堂云主机
  20. 追MM“23式”—— GOF 23种设计模式

热门文章

  1. hadoop-0.20.2完全分布式集群
  2. Easyui Datagrid的Rownumber行号显示问题
  3. 通过Ajax的方式执行GP服务
  4. 链接ftp,把文件或图片上传到ftp指定的文件夹中
  5. 计算机网络学习(七)—集线器与交换机
  6. 苹果从来不飙配置,也从不关注配置,即使一般的配置也能卖好价钱,为啥没人喷?
  7. 夫妻俩70岁积蓄70万元,俩人退休金8000元,还需要理财吗?
  8. “越来越多的年轻人,都向往去体制里面工作”你怎么看?
  9. 如果有1千万以后不再有收入,没有任何理财方式,够花一辈子吗?
  10. 美元为什么能够无限超发?