zoukankan      html  css  js  c++  java
  • tomcat 启动项目时出现 ZipException: error in opening zip file

    错误情况

    项目用 maven 打好 war 包后放到 tomcat 下,启动 tomcat,出现以下错误

    3-Nov-2017 12:21:44.346 严重 [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
     org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/VatuuPayMap]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@3299c4df]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4860)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4995)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 10 more
    Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@90b990]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:113)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
        at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:724)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 13 more
    Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: error in opening zip file
        at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
        ... 16 more
    Caused by: java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:220)
        at java.util.zip.ZipFile.<init>(ZipFile.java:150)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:103)
        at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:110)
        ... 17 more
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    最后一个 Caused by 就是 java.util.zip.ZipException: error in opening zip file
    但是它又不告诉我是哪个包出现了错误。

    思路历程

    1. 首先检查有没有 zip 包
    2. 没有 zip 包,那剩下的只能是 jar 包。
    3. 在网上搜了一阵后,发现很多情况是在 maven 打包是就出现了这个错误,就能找到是哪个包,之后就好解决了。
    4. 但是我每次都是没有错误,成功打包
    5. 之后花式打包,调各种参数,都失败了
    6. 在这样的情况下,只能调试 tomcat 了(我想到的本办法,如果有更好的办法请告述我!!!)
    7. 之后就是调试 tomcat 源码了,详情请点击
    8. tomcat 源码 org.apache.catalina.util.LifecycleBase.init 这个位置打断点,终于发现是哪个 jar 包了。

      PS

      其实这个 jar 包会出问题是因为它是一个本地 jar 包,按照网上推荐的方式将它 install 到本地仓库,ide 上运行是没错的,但是打包之后就是一个空包了,但是显示的大小比正常的大。
      暂时的解决方法 详情点击
      如果有知道原因和其他方法的请告诉我!!!

  • 相关阅读:
    ANDROID笔记:shape的简单使用
    ANDROID笔记:根据长宽实现图片压缩
    ANDROID笔记:PopupMenu的用法
    ANDROID笔记:AdapterContextMenuInfo在ListView中的用法
    ANDROID笔记:利用XML布局文件生成Menu
    ANDROID笔记:ContextMenu的用法
    ANDROID笔记:JSON和Adapter的使用
    ANDROID笔记:Dialog的几种用法
    ANDROID笔记:AdapterViewFlipper和ViewFlipper的简单使用
    #2020征文-开发板# 用鸿蒙开发AI应用(一)硬件篇
  • 原文地址:https://www.cnblogs.com/jpfss/p/10081463.html
Copyright © 2011-2022 走看看