Maven通过filtering标签读取变量配置的三种方法
作者:懒鸟一枚
在日常开发中,我们大多都会有开发环境、测试环境、生产环境等,不同环境的参数肯定不一样,本文主要介绍了Maven通过filtering标签读取变量配置的三种方法,感兴趣的可以了解一下
iltering的作用
MAVEN提供了一种过滤机制,这种机制能够在资源文件被复制到目标目录的同时,当filtering = true时替换资源文件中的占位符;当filtering = false时不进行占位符的替换。
本文重点介绍maven filtering标签相关知识。
方式一 读取资源文件读取 pom文件标签属性变量值
<project> <name>HelloWorld</name> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> </project>
filtering:开启过滤,用指定的参数替换directory下的文件中的参数(eg. ${name})
directory:指定资源文件的位置。
mvn resources:resources :对资源做出处理,先于compile阶段。
然后在src/main/resources下,添加一个文件,比如叫test.txt。test.txt内容如下:
I want to say : ${name}
3.执行 mvn resources:resources 命令,最后会在target/classes下看到test.txt的内容变成了,如下所示:
I want to say : HelloWorld
方式二. 读取资源文件读取 读取 pom文件 properties 变量属性下 标变量值
<project> <name>HelloWorld</name> <properties> <username>Tom</username> </properties> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> </project>
然后在test.txt,添加一句:
My name is ${username}
再执行上述的步骤3。即可变成: My name is Tom
方式三: 通过 filters 标签 预编译资源文件,进行读取properties文件变量值
<project> <filters> <filter>src/main/resources/code.properties</filter> </filters> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> </project>
在src/main/resources下添加文件code.properties
该文件内容如下:
username1=tom1 password=123
然后test.txt,添加如:${username1} ${password} 执行步骤3,也会得到同样的效果。
到此这篇关于Maven通过filtering标签读取变量配置的三种方法的文章就介绍到这了,更多相关Maven filtering读取变量配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!