maven資源過濾打包后文件變大的處理方法
前言
今天遇到一個問題,我們有個ip.dat二進(jìn)制文件,通過里面內(nèi)容可以解析ip所在的地域信息,本地單元測試都是OK的,部署到測試環(huán)境后,發(fā)現(xiàn)解析ip的時(shí)候報(bào)錯。拿測試環(huán)境打印出的IP地址,在本地單元測試也么有問題。最后發(fā)現(xiàn):代碼庫的ip.dat文件大小只有3.5M左右,而測試環(huán)境的ip.dat文件大小在5M左右。
問題在于:為什么ip.dat通過maven打包后文件變大了?由于maven打包的時(shí)候,會將這個文件從src/main/resources/下面拷貝的conf目錄下。我直接將ip.dat放在conf目錄下,而不是resources目錄下,發(fā)現(xiàn)打包后大小正常。
也就是說maven打包的過程中,只是將src/main/resources/目錄下的文件變大了。因?yàn)槲覀冊趐om中開啟了資源過濾。
<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下,但是不進(jìn)行資源過濾--> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <includes> <include>ip.dat</include> </includes> </resource> </resources>
使用maven進(jìn)行資源過濾的時(shí)候,只要過濾需要過濾的文件,一些二進(jìn)制文件,比如https證書等,就不要參與資源過濾,否則打包后會破壞文件內(nèi)容。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則
正則表達(dá)式正則表達(dá)式是用來指定字符串模式的,可以方便的處理文本信息,這篇文章主要給大家介紹了關(guān)于如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則的相關(guān)資料,需要的朋友可以參考下2022-09-09Springboot 中使用 Aop代碼實(shí)戰(zhàn)教程
AOP的編程思想是把對類對象的橫切問題點(diǎn),從業(yè)務(wù)邏輯中分離出來,從而達(dá)到解耦的目的,增加代碼的復(fù)用性,提高開發(fā)效率,這篇文章主要介紹了Springboot中使用Aop代碼實(shí)戰(zhàn)教程,需要的朋友可以參考下2023-07-07Springboot整合Swagger2后訪問swagger-ui.html 404報(bào)錯問題解決方案
這篇文章主要介紹了Springboot整合Swagger2后訪問swagger-ui.html 404報(bào)錯,本文給大家分享兩種解決方案,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Java使用elasticsearch基礎(chǔ)API使用案例講解
這篇文章主要介紹了Java使用elasticsearch基礎(chǔ)API使用案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08