理解Maven Resource的過濾功能

路越發表於2018-03-21

背景

問題的背景是這樣:我的maven工程的resources目錄下包含一個子目錄,裡面存著幾個壓縮包檔案。當我用maven打包後發現打完的包的包含的壓縮包檔案大小變了,而且無法解壓。

原因

原來我的pom檔案是這麼配置的:

<resource>
     <directory>src/main/resources</directory>
     <filtering>true</filtering>
</resource>

在這種配置下maven在打包時會對resources下的壓縮包進行filter,破壞了壓縮包檔案。

解決方案

修改配置,不對壓縮包檔案進行filter。

<resource>
   <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <excludes>
        <exclude>**/*.zip</exclude>
        <exclude>**/*.csv</exclude>
    </excludes>
</resource>
<resource>
    <directory>src/main/resources</directory>
    <filtering>false</filtering>
    <includes>
        <include>**/*.zip</include>
        <include>**/*.csv</include>
    </includes>
</resource>

相關文章