tomcat
启动项目,报错
如下:
java.util.zip.ZipException: invalid LOC header (bad signature)
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1400(Unknown Source)
at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readID(ClassParser.java:199)
at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:78)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2119)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1981)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1942)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1927)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1332)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5519)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
九月 13, 2018 4:34:51 下午 org.apache.catalina.startup.ContextConfig processAnnotationsJar
严重: Unable to process Jar entry [com/caucho/burlap/client/BurlapProtocolException.class] from Jar [jar:file:/F:/workspace-sts/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/ga/WEB-INF/lib/hessian-4.0.38.jar!/] for annotations
java.util.zip.ZipException: invalid LOC header (bad signature)
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1400(Unknown Source)
at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readID(ClassParser.java:199)
at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:78)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2119)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1981)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1942)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1927)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1332)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5519)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
原因:
仔细分析上边报错内容,发现问题主要集中在hessian-4.0.38.jar
包中,查看项目中的hessian-4.0.38.jar包,发现问题如下:
hessian-4.0.38.jar
的 HessianMetaInfoAPI.class
类文件损坏,即 tomcat
的报错 invalid LOC header (bad signature)
解决办法: 删除maven本地资源库
中的 hessian-4.0.38.jar 包,重新下载即可
近来发现好多项目问题,都是maven下载jar包损坏的问题,在此提醒自己