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,那么默認的就會失效,就會以設置的為准。