一、错误原因

bad signature 表明你使用的jar包损坏了。每个jar包最初生成时为了安全都会有一个数字签名(一旦生成会改变),以防止别人对jar包进行篡改,因为jar包里的文件内容一旦改变,使用某个算法根据文件内容计算出的数字签名和最初发布jar包时的数字签名不一致。在你使用jar包时,首先会验证数字签名,bad signature ,文件不一致,为了安全,就不可以使用了,这也是java安全机制之一。
唠叨几句:查看了网上很多解决方案,大多都是说如何解决。有的只是针对具体的问题,别人和他的根本不是一个问题。有点还好,问题解决了,但不知到问题出在哪里。挺难受。
另外:这个 Loc 可能是代表着数字签名吧,实在是查不到
二、解决
找出损坏jar包,并替换
如果是maven工程和eclipse(或myeclipse)
这里写图片描述
我的是:jackson-data.jar版本2.7,更换了版本为2.6。

如果是其他项目管理工具,自己百度相关方法吧, 反正是jar包有问题 ,不能用了。
实在不行,你一次替换一个jar包,然后去运行tomcat,直到成功。这个控制变量法也可以解决。

找哪个 jar包 出现了问题: 方法1、可通过右击项目名 -> Run as -> Maven test ,这时控制台会报哪个 jar包 出错。 (也可以打开DOS命令窗口,切换至项目目录,运行mvn test命令,和Eclipse的控制台输出信息一致) 方法2、如果方法1未出现任何错误信息,那么就使用笨办法。打开项目中的pom.xml文件,在自己的Maven本地仓库去查找pom.xml...  严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:org.apache.catalina.Life... 原因及解析: 错误的内容是: xx.jar这个文件出错,无效的 LOC 头(错误的签名)。 LOC 可以认为是 Length Of Code的简写。也就是文件的大小, 那这里的签名有做和解释呢? 出于安全性考虑, 一般... 在 Tomcat 中启动 Maven 项目,发现报错【 java . util . zip . Zip Exception : invalid LOC header ( bad signature )】,具体如下八月 18, 2016 6:02:01 下午 org.apache.catalina.startup.ContextConfig processAnnotationsJar严重: Unable to proce... 配置 Fiddler 抓取 Https 请求时遇到了这个问题。 cmd 下输入 certmgr.msc > 操作 > 查找证书,然后输入 Fiddler 搜索,选中所有搜索出的证书; 清空 C:\Users\Dell\AppData\Roaming\Microsoft\Crypto\RSA 下的文件; 卸载 Fiddler; 火狐 选项 > 隐私与安全 > 证书 > ... 2020-07-15 16:54:14.859 ERROR 25627 --- [io-8022-exec-11] o.apache.coyote.http11.Http11Processor : Error processing request