Maven过滤属性文件,替换属性值
pom.xml
1、resources:
resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,像db,bean等,里面用到的变量在打包时就会根据filter中的变量配置替换成固定值
图片1
filtering=true表示src/main/resources下面的所有properties文件中的占位符都会被替换为profile中对应属性的值
图片2
filtering=false表示src/main/resources下面所有的xml文件中的占位符都不会被替换为profile中对应属性的值
图片3
filtering=true表示src/main/resources/META-INF/spring下面的spring-comm-conf.xml文件中的占位符都会被替换为profile中定义的属性值,并把该文件移到targetPath配置的路径下
2、profiles:
id节点为唯一的,项目打包时,需要指定
<activation>
<activeByDefault>true</activeByDefault>
</activation>
改节点设置某个profile为默认选中的
使用maven打包命令
mvn clean -Dmaven.test.skip=true package -P dev
其中 -P dev,dev就是profile中指定的id,maven profile可使用操作系统信息,jdk信息,文件是否存在,属性值等作为依据,来激活相应的profile,也可在编译阶段,通过mvn命令加参数 -PprofileId 来手工激活使用对应的profile
结合filter和profile,我们就可以方便的在不同环境下使用不同的配制
3、打包
在执行打包命令时,maven会到src/main/resources下寻找*.properties类型的文件,将pom定义的key替换到properties文件对应的${value}。
想要提升自己,工作中遇到的问题,更多JAVA技术相关文章,微信扫一扫关注作者公众号
最新文章
- 提交留言HTML模板代码
- hibernate与ibatis比较
- tfs 任务自定义项
- Unity 下载
- Node.js的循环依赖
- ASP.NET获取路径的方法
- ios程序开发杂记
- LeetCode Letter Combinations of a Phone Number 电话号码组合
- 从Spring HibernateTemplate模板方法设计模式的实现谈起
- C#实现数据结构——线性表(上)
- jQuery Moblile Demos学习记录Theming、Button、Icons图标,脑子真的不好使。
- linux学习方法之六
- Arduino语法-变量和常量
- Ubuntu18下sudo apt install xxx出现问题
- 用keras实现基本的图像分类任务
- CSS Basic Memo
- nginx安装升级及配置详解
- 软件工程项目之摄影App(第二次冲刺)
- 4、Python-列表
- centos安装memcached和PHP php-pecl-memcached.x86_64