Maven-invalid LOC header (bad signature)
用maven打包的war部署到tomcat中啟動報錯
Caused by: java.util.zip.ZipException: invalid block type
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
at org.springframework.boot.loader.jar.ZipInflaterInputStream.read(ZipInflaterInputStream.java:52)
at sun.misc.Resource.getBytes(Resource.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:462)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
... 105 common frames omitted
讀取zip包異常
回頭看maven的編譯打包,其實maven在編譯時會輸出中有如下的錯誤資訊輸出
錯誤:讀取 xxx.jar 時出錯...invalid LOC header (bad signature)
問題很明確 那個jar包有問題
到maven倉庫中刪除對應的jar 重新編譯讓maven重新下載jar就對了
個人認為這裡maven做得不好, 有這樣的問題就不應該編譯通過,編譯就不讓通過就不至於到執行環境才發現問題
(剛使用maven不久,也許可以通過什麼配置來達到有這種異常時編譯失敗,有大神看到還請留言指點)