Maven过滤属性文件,替换属性值

Posted 微微蓝~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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技术相关文章,微信扫一扫关注作者公众号

以上是关于Maven过滤属性文件,替换属性值的主要内容,如果未能解决你的问题,请参考以下文章

属性过滤中的转义字符(Maven)

替换 JavaScript 文件中的 Maven Archetype 属性

maven 灵活构建

如何在 maven pom 属性值中转义“&”[重复]

maven属性资源过滤profile不同环境构建项目

Maven里面多环境下的属性过滤(配置)