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,也会得到同样的效果。