關於Maven resource配製中include與exclude的關係
阿新 • • 發佈:2018-12-20
<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-infrastructure.xml, let it go with spring's resource process mechanism. --> <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兩個檔案外的其他檔案也是資原始檔,但是它們不會被過濾。