一、错误原因
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,直到成功。这个控制变量法也可以解决。