1. 程式人生 > >Caused by: Zip64 archives are not supported

Caused by: Zip64 archives are not supported

2018.10.23

文章目錄

前言

A ---> B

Spring Boot專案中A模組依賴於B模組,但對A打包完執行後,報錯顯示不支援Zip64。官方Github對該問題進行了解釋1:受限於Spring Boot載入器,無法讀取zip64格式檔案。同時也給出了疑問:為何單個包會如此地大。

方法

在這個case裡,A模組打包生成的jar包足足有300MB。Pom中採用了maven-shade-plugin,最終生成了fat包。為了分析A模組所有依賴的關係,生成了該模組的依賴樹2

;而後解壓了該jar檔案,發現其所依賴的B模組就佔了100多MB,大於單個依賴的55MB上限3。B模組也是一個fat包,因此一方面A、B模組存在冗餘依賴包的情況(還可能依賴衝突),另一方面B模組的確是過於龐大,超過Spring Boot Loader的上限。因此,在B模組的Pom中直接移除了maven-shade-plugin外掛,使得該依賴大小符合要求。


  1. Spring Boot官方解釋 ↩︎

  2. Maven Cheat Sheet ↩︎

  3. Spring Boot單個依賴包上限大小,待考證 ↩︎