问题:
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