maven資源過濾打包后文件變大的處理方法
前言
今天遇到一個問題,我們有個ip.dat二進制文件,通過里面內(nèi)容可以解析ip所在的地域信息,本地單元測試都是OK的,部署到測試環(huán)境后,發(fā)現(xiàn)解析ip的時候報錯。拿測試環(huán)境打印出的IP地址,在本地單元測試也么有問題。最后發(fā)現(xiàn):代碼庫的ip.dat文件大小只有3.5M左右,而測試環(huán)境的ip.dat文件大小在5M左右。
問題在于:為什么ip.dat通過maven打包后文件變大了?由于maven打包的時候,會將這個文件從src/main/resources/下面拷貝的conf目錄下。我直接將ip.dat放在conf目錄下,而不是resources目錄下,發(fā)現(xiàn)打包后大小正常。

也就是說maven打包的過程中,只是將src/main/resources/目錄下的文件變大了。因為我們在pom中開啟了資源過濾。
<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources>
解決方案
解決方案就很簡單了:直接將ip.dat放到conf目錄下不參與資源過濾就可以了。如果一定要將ip.dat放在resources目錄下,那么可以通過下面配置解決。
<resources> <!--排除ip.dat,不打包到classpath下,自然就不會過濾--> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>ip.dat</exclude> </excludes> </resource> <!--將ip.dat打包到classpath下,但是不進行資源過濾--> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <includes> <include>ip.dat</include> </includes> </resource> </resources>
使用maven進行資源過濾的時候,只要過濾需要過濾的文件,一些二進制文件,比如https證書等,就不要參與資源過濾,否則打包后會破壞文件內(nèi)容。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
解析Java中PriorityQueue優(yōu)先級隊列結(jié)構(gòu)的源碼及用法
優(yōu)先級隊列是一種隊列結(jié)構(gòu),是0個或多個元素的集合,每個元素都有一個優(yōu)先權(quán),PriorityQueue被內(nèi)置于JDK中,本文就來解析Java中PriorityQueue優(yōu)先級隊列結(jié)構(gòu)的源碼及用法.2016-05-05
JAVA開發(fā)環(huán)境Vs?code配置步驟詳解
這篇文章主要為大家介紹了JAVA開發(fā)環(huán)境Vs?code配置步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04
Java高效實現(xiàn)excel轉(zhuǎn)pdf(支持帶圖片的轉(zhuǎn)換)
這篇文章主要為大家詳細介紹了如何用java實現(xiàn)excel轉(zhuǎn)pdf文件,并且支持excel單元格中帶有圖片的轉(zhuǎn)換,文中的示例代碼講解詳細,需要的可以參考下2024-01-01
Java Web項目中實現(xiàn)文件下載功能的實例教程
這篇文章主要介紹了Java Web項目中實現(xiàn)文件下載功能的實例教程,分別講解了通過超鏈接實現(xiàn)下載以及通過Servlet程序?qū)崿F(xiàn)下載的方式,需要的朋友可以參考下2016-05-05
Java基于線程實現(xiàn)帶有滾動效果的Label標簽實例
這篇文章主要介紹了Java基于線程實現(xiàn)帶有滾動效果的Label標簽,實例分析了java線程的使用技巧及l(fā)abel標簽的實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07

