pom.xml中的build标签的resources标签:
resources标签是指定读取的配置文件或文件夹中的文件
resources标签内容需配置在<build></build>
中
一、最简单的
<resource>
<directory>src/main/resources</directory>
</resource>
表示读取该目录的所有文件
二、filtering
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
filtering是否开启替换标签,若文件中有类似${key}这样的配置,就会根据maven的配置进行覆盖,让其使用真实值来填写
true表示开启替换,false表示不开启替换,无此标签表示不开启替换
真实值是从pom中profiles的配置里面取的
三、targetPath
<resource>
<targetPath>META-INF/plexus</targetPath>
<directory>src/main/resources</directory>
</resource>
targetPath用于指定读取资源到target的那个目录下,如下图,不指定默认为target/classes
四、includes
<resource>
<directory>src/main/resources</directory>
<includes>
<include>config/dubboSource/*.xml</include>
</includes>
</resource>
includes表示仅读取directory文件夹下includes中指定的文件或文件夹的内容,即in的意思,如下图展示
五、excludes
<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:这个模块包含测试资源元素,其内容定义与resources类似
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
默认情况下,如果没有指定resources,目前认为自动会将classpath下的src/main/java下的.class文件和src/main/resources下的.xml文件放到target里头的classes文件夹下的package下的文件夹里。如果设定了resources,那么默认的就会失效,就会以设置的为准。
文章来源:
pom中resources标签解析https://www.cnblogs.com/guiyl/p/11908164.html)