TOMCAT 启动报错 invalid LOC header (bad signature),而直接启动不报错
1.最好的解决方法:找到maven存放jar包文件夹m2内,将所以 .lastUpdated后缀的文件全部删除,重新maven update项目。
2.这个是因为项目有jar包报错的缘故,如果能直接显示报错jar包最好,可以直接去将该jar包删除,maven update一下,重新下载jar包。
3.如果没有指明jar包,可以使用打点的方式看到是哪个jar包有问题,打点位置:
JDK下rt.jar/java/util/jar/JarFile.class下424行
private byte[] getBytes(ZipEntry ze) throws IOException {
try (InputStream is = super.getInputStream(ze)) {
return IOUtils.readFully(is, (int)ze.getSize(), true);
}
}
try位置前打个点,Debugger看他读取的每个jar包名称
建议:第一次先快速F8过一遍,有时候控制台会有些内容显示出来,可以已此为记号,
第一遍大概记住报错的位置,第一次可以快速来到附近,一个一个查看
4.近期添加:好像,我又碰到这个问题了,maven打包好像会直接爆出哪个jar包读取不到的,从而可以去针对的去做出处理