Tomcat启动项目报错:invalid LOC header (bad signature)

系统管理员 2022-05-23 09:49 351阅读 0赞

项目是用maven构建的,用Tomcat一启动,就报invalid LOC header (bad signature)错误:

  1. 信息: Starting Servlet Engine: Apache Tomcat/8.0.44
  2. 六月 06, 2018 6:12:12 下午 org.apache.catalina.core.ContainerBase startInternal
  3. 严重: A child container failed during start
  4. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc]]
  5. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  6. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  7. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
  8. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
  9. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  10. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
  11. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
  12. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  13. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  14. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  15. at java.lang.Thread.run(Thread.java:748)
  16. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc]]
  17. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
  18. ... 6 more
  19. Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@138a8ecb]
  20. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
  21. at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
  22. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
  23. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  24. ... 6 more
  25. Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@f40be47]
  26. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
  27. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
  28. at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707)
  29. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  30. ... 9 more
  31. Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)
  32. at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
  33. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  34. ... 12 more
  35. Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
  36. at java.util.zip.ZipFile.read(Native Method)
  37. at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
  38. at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)
  39. at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
  40. at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
  41. at sun.misc.IOUtils.readFully(IOUtils.java:65)
  42. at java.util.jar.JarFile.getBytes(JarFile.java:425)
  43. at java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)
  44. at java.util.jar.JarFile.getManifest(JarFile.java:180)
  45. at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111)
  46. ... 13 more
  47. 六月 06, 2018 6:12:12 下午 org.apache.catalina.core.ContainerBase startInternal
  48. 严重: A child container failed during start
  49. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  50. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  51. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  52. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
  53. at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
  54. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  55. at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
  56. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  57. at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:789)
  58. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  59. at org.apache.catalina.startup.Catalina.start(Catalina.java:630)
  60. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  61. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  62. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  63. at java.lang.reflect.Method.invoke(Method.java:498)
  64. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
  65. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  66. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  67. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
  68. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
  69. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
  70. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  71. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  72. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  73. at java.lang.Thread.run(Thread.java:748)
  74. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  75. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951)
  76. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
  77. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  78. ... 6 more
  79. 六月 06, 2018 6:12:12 下午 org.apache.catalina.startup.Catalina start
  80. 严重: The required Server component failed to start so Tomcat is unable to start.
  81. org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
  82. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
  83. at org.apache.catalina.startup.Catalina.start(Catalina.java:630)
  84. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  85. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  86. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  87. at java.lang.reflect.Method.invoke(Method.java:498)
  88. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
  89. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  90. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
  91. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
  92. at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:789)
  93. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  94. ... 7 more
  95. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
  96. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
  97. at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
  98. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  99. ... 9 more
  100. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  101. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951)
  102. at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
  103. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
  104. ... 11 more
  105. 六月 06, 2018 6:12:12 下午 org.apache.coyote.AbstractProtocol pause
  106. 信息: Pausing ProtocolHandler ["http-nio-8080"]
  107. 六月 06, 2018 6:12:12 下午 org.apache.coyote.AbstractProtocol pause
  108. 信息: Pausing ProtocolHandler ["ajp-nio-8009"]
  109. 六月 06, 2018 6:12:12 下午 org.apache.catalina.core.StandardService stopInternal
  110. 信息: Stopping service Catalina
  111. 六月 06, 2018 6:12:12 下午 org.apache.coyote.AbstractProtocol destroy
  112. 信息: Destroying ProtocolHandler ["http-nio-8080"]
  113. 六月 06, 2018 6:12:12 下午 org.apache.coyote.AbstractProtocol destroy
  114. 严重: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]
  115. java.lang.NullPointerException
  116. at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:315)
  117. at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:491)
  118. at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:883)
  119. at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:551)
  120. at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
  121. at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
  122. at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
  123. at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
  124. at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:879)
  125. at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
  126. at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
  127. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  128. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  129. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  130. at java.lang.reflect.Method.invoke(Method.java:498)
  131. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
  132. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  133. 六月 06, 2018 6:12:12 下午 org.apache.coyote.AbstractProtocol destroy
  134. 信息: Destroying ProtocolHandler ["ajp-nio-8009"]
  135. 六月 06, 2018 6:12:12 下午 org.apache.coyote.AbstractProtocol destroy
  136. 严重: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
  137. java.lang.NullPointerException
  138. at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:315)
  139. at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:491)
  140. at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:883)
  141. at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:551)
  142. at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
  143. at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
  144. at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
  145. at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
  146. at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:879)
  147. at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
  148. at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
  149. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  150. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  151. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  152. at java.lang.reflect.Method.invoke(Method.java:498)
  153. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
  154. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

出现这种情况的原因就是原因就是某个jar包由于什么原因被破坏了,或者没下载全等等。

解决方法:
网上说可通过右击项目名 -> Run As -> Maven test ,这时控制台会报哪个jar包出错。我直接执行Maven test发现控制台并没有提示那个jar包出错,后来我先执行Run As -> Maven clean,然后再执行Run As -> Maven test发现控制台就有提示哪个jar包出错了。

70

然后找到对应的jar包删掉,再重新下载即可。

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读