掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
想了解更多內(nèi)容,請訪問:

從策劃到設(shè)計制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、空間域名、虛擬主機、網(wǎng)絡(luò)營銷、VI設(shè)計、 網(wǎng)站改版、漏洞修補等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。
和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.
背景:鴻蒙三方庫移植及開發(fā)項目中,在JavaLibrary module中會引用一些其他開源三方庫如Zxing,Gson等,將JavaLibrary打出jar包的時候,發(fā)現(xiàn)這些第三方庫根本沒有打到j(luò)ar包里面去,運行時就會報某某類缺失,以javapoet普通打包方式為例:
Javalibrary module中雖然引用了javapoet,但是打出jar包后發(fā)現(xiàn)javapoet并未存在于該jar中
打出jar包
查看jar包發(fā)現(xiàn)javapoet并未存在于該jar中
之前臨時方案是在JavaLibrary module中導(dǎo)入依賴三分庫的源碼,由于由于涉及版本迭代,不好維護,不推薦此方式。
目前正確的解決方法為:使用插件進行輔助打包,解決辦法步驟如下:
1. 配置打包插件的集成環(huán)境,引用三方打包插件到j(luò)avalibrary工程的gradle中。
2. 配置打包插件后,在build中會出現(xiàn)shadowJar的task,雙擊進行打包:
3. 打包完成后,將jar引用到應(yīng)用工程中進行測試:
此時javapoet已被打到j(luò)ar包中。
備注:shadow插件官方開源地址
https://github.com/johnrengelman/shadow
本文作者:Shen Fei 來自鴻蒙三方庫聯(lián)合特戰(zhàn)隊
想了解更多內(nèi)容,請訪問:
和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流