1. 程式人生 > >Maven-invalid LOC header (bad signature)

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不久,也許可以通過什麼配置來達到有這種異常時編譯失敗,有大神看到還請留言指點)