代码改变世界

【接口自动化框架实践】3.1、pom中resources标签解析

2019-11-21 20:37  昆山玉乐  阅读(1360)  评论(0编辑  收藏  举报
pom.xml中的build标签的resources标签:resources标签是指定读取的配置文件或文件夹中的文件
resources标签内容需配置在<build></build>中
 
最简单的
<resource>
<directory>src/main/resources</directory>
</resource>
表示读取该目录的所有文件
 
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
filtering是否开启替换标签,若文件中有类似${key}这样的配置,就会根据maven的配置进行覆盖,让其使用真实值来填写
true表示开启替换,false表示不开启替换,无此标签表示不开启替换
真实值是从pom中profiles的配置里面取的
 
<resource>
<targetPath>META-INF/plexus</targetPath>
<directory>src/main/resources</directory>
</resource>
targetPath用于指定读取资源到target的那个目录下,如下图,不指定默认为target/classes

 

<resource>
<directory>src/main/resources</directory>
<includes>
<include>config/dubboSource/*.xml</include>
</includes>
</resource>
includes表示仅读取directory文件夹下includes中指定的文件或文件夹的内容,即in的意思,如下图展示

 

<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>config/dubboSource/*.xml</exclude>
</excludes>
</resource>
excludes表示读取directory文件夹下但排除includes中指定的文件或文件夹的所有其他内容,即not in的意思,如下图展示

 

通常filtering、includes、excludes一起使用,如下
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>config/dubboSource/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>config/dubboSource/*.xml</exclude>
</excludes>
</resource>
表示读取src/main/resources文件夹下config/dubboSource/*.xml内容,且不替换变量,读取src/main/resources文件夹下除了config/dubboSource/*.xml以外的内容,且替换变量,如下截图

 

<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
testResources:这个模块包含测试资源元素,其内容定义与resources类似
 
 
默认情况下,如果没有指定resources,目前认为自动会将classpath下的src/main/java下的.class文件和src/main/resources下的.xml文件放到target里头的classes文件夹下的package下的文件夹里。如果设定了resources,那么默认的就会失效,就会以设置的为准。