[Maven] resource配製include與exclude的關係
阿新 • • 發佈:2019-02-10
在Maven中,使用resource我們可以在部署的過程中對配置檔案做一些處理。
比如使用include、exclude。
那這篇文章主要介紹一下include、exclude的作用與區別。
- include
include的作用:
使用include可以規定指定路徑下的xml包括properties檔案在編譯期,將文
件指定的${key}替換掉。
例如:XXX.xml中我們使用${jdbc.url}來代表資料庫地址。那麼在Maven編譯時,就會將${jdbc.url}替換成真正的地址。
注:類似上面${jdbc.url}這樣的key必須是pom.xml中的屬性定義到的
- exclude
exclude的作用:
使用exclude可以規定指定路徑下的配置檔案,在編譯後打包時不被放入資源路徑裡。
注:
如果<include>與<exclude>劃定的範圍存在衝突時
並不會執行<exclude>,而是執行<include>
下面是使用resources的形式
<build>
<resources>
<resource>
...
</resource>
<resource>
...
</resource>
</resources>
<build>
include的使用示例
<resource>
<directory>src/main/resources</directory>
<!-- 過濾指定路徑下的配置檔案屬性 -->
<includes>
<!--
注:
1、include可以配置多個路徑,但路徑不要重複,也別包含
2、*與**/*意義不同,*指resource路徑下,並不包含resource子資料夾下的檔案
**/*指resource路徑及其子路徑下所有檔案。
-->
<!--
<include>*</include>
<include>**/*</include>
<include>*.xml</include>
<include>**/*.xml</include>
<include>test1.xml</include>
<include>test2.xml</include>
-->
<include>test1.xml</include>
</includes>
<!-- true:替換 false:不替換 -->
<filtering>true</filtering>
</resource>
exclude的使用示例
<resource>
<directory>src/main/resources</directory>
<!--
不過濾指定路徑下的檔案:此路徑下的指定檔案打包時,
將不被放入resource中。
-->
<excludes>
<exclude>test2.xml</exclude>
<!--
注:
exclude的注意事項與include相同
-->
<!--
<exclude>*</exclude>
<exclude>**/*</exclude>
<exclude>*.xml</exclude>
<exclude>**/*.xml</exclude>
<exclude>test1.xml</exclude>
<exclude>test2.xml</exclude>
-->
</excludes>
<filtering>false</filtering>
</resource>
注:exclude裡filtering的true、false值詳解。
<!--
true與false相同點:
exclude規定路徑下的檔案不被打包。
true與false不同點:
true: 不在exclude規定路徑下,其他的檔案執行include過濾。
false:不在exclude規定路徑下,其他的檔案不執行include過濾。
-->