1. 程式人生 > >Maven resource 配置中include與exclude及其filter的使用

Maven resource 配置中include與exclude及其filter的使用

Maven resource 中的<include>與<exclude>用於包含或排除某一檔案目錄下的檔案是否是工程資源的。

若<include>與<exclude>劃定的範圍存在衝突,則以<exclude>配置為準。

多數情況下,使用<include>和<exclude>是為了配合<filtering>實現替換檔案中的變數的需要。

例如:

在某一個工程中,src/main/resources目錄下都是工程的資原始檔,並不需要<include>和<exclude>再進行劃定。

但如果需要對且僅對其中的jdbc.properties和mail.properties兩個檔案進行過濾,則需要藉助<include>和<exclude>進行如下的配置:

<resources>
<!-- Filter jdbc.properties & mail.properties.-->
<!-- NOTE: We don't filter applicationContext-*.xml -->
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <includes>
      <include>jdbc.properties</include>
      <include>mail.properties</include>
    </includes>
  </resource>
  <!-- Include other files as resources files. -->
  <resource>
    <directory>src/main/resources</directory>
    <filtering>false</filtering>
    <excludes>
      <exclude>jdbc.properties</exclude>
      <exclude>mail.properties</exclude>
    </excludes>
  </resource>
</resources>

其中第一段<resource>配置宣告:在src/main/resources目錄下,僅jdbc.properties和mail.properties兩個檔案是資原始檔,然後,這兩個檔案需要被過濾。而第二段<resource>配置宣告:同樣在src/main/resources目錄下,除jdbc.properties和mail.properties兩個檔案外的其他檔案也是資原始檔,但是它們不會被過濾。

轉載自 http://blog.csdn.net/bluishglc/article/details/6640889