Bootstrap

invalid LOC header(bad signature)错误及解决

问题

xx.jar; invalid LOC header(bad signature)

发生场景
使用Maven下载依赖包后,启动Spring应用或是启动Tomcat等服务器时。

原因及解析
错误的内容是: xx.jar这个文件出错,无效的LOC头(错误的签名)。
LOC可以认为是 Length Of Code的简写。也就是文件的大小, 那这里的签名有做和解释呢?
出于安全性考虑, 一般的的库或软件在发布的时候会使用哈希算法(比如MD5)对文件进行哈希运算并产生一个消息摘要,如果这个文件被篡改,重新生成的Hash码肯定不一样。关于消息摘要的内容可以参考:
消息摘要(Message Digest)及其算法https://blog.csdn.net/oscar999/article/details/104071469

基于以上考虑, 推断错误的原因就是该jar的下载有问题, 到本地Maven库中找到该文件, 使用压缩工具(比如WinZip)打不开&#x

;