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阶段。

  1. 然后在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,也会得到同样的效果。

上一篇:集成测试


下一篇:动态规划(Dynamic programming)详解(含代码)