由于java.util.zip.ZipException,Tomcat 8组件启动失败

由于java.util.zip.ZipException,Tomcat 8组件启动失败,java,tomcat,tomcat8,Java,Tomcat,Tomcat8,我的任务是让旧的java代码在新的环境中运行,而我在让Tomcat(8.0.32)启动组件时遇到了问题。在catalina.out日志文件中,我得到以下内容: INFO: Using a shared selector for servlet write/read Jul 04, 2019 3:27:30 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1232 ms Jul 04, 2

我的任务是让旧的java代码在新的环境中运行,而我在让Tomcat(8.0.32)启动组件时遇到了问题。在catalina.out日志文件中,我得到以下内容:

INFO: Using a shared selector for servlet write/read
Jul 04, 2019 3:27:30 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1232 ms
Jul 04, 2019 3:27:31 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jul 04, 2019 3:27:31 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.32 (Ubuntu)
Jul 04, 2019 3:27:31 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat8/Catalina/localhost/reportServer.xml
Jul 04, 2019 3:27:31 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/reportServer]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
    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:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@79e9c8c8]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4937)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5067)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    ... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@3d9ef955]
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:136)
    at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:699)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    ... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid END header (bad central directory offset)
    at org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:96)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    ... 16 more
Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:225)
    at java.util.zip.ZipFile.<init>(ZipFile.java:155)
    at java.util.jar.JarFile.<init>(JarFile.java:166)
    at java.util.jar.JarFile.<init>(JarFile.java:103)
    at org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:88)
    ... 17 more

Jul 04, 2019 3:27:31 PM org.apache.catalina.startup.HostConfig deployDescriptor
SEVERE: Error deploying configuration descriptor /etc/tomcat8/Catalina/localhost/reportServer.xml
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/reportServer]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
    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:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
INFO:为servlet写/读使用共享选择器
2019年7月4日下午3:27:30 org.apache.catalina.startup.catalina加载
信息:初始化在1232毫秒内处理
2019年7月4日下午3:27:31 org.apache.catalina.core.StandardService startInternal
信息:开始服务Catalina
2019年7月4日下午3:27:31 org.apache.catalina.core.StandardEngine startInternal
信息:启动Servlet引擎:ApacheTomcat/8.0.32(Ubuntu)
2019年7月4日下午3:27:31 org.apache.catalina.startup.HostConfig部署描述符
信息:部署配置描述符/etc/tomcat8/Catalina/localhost/reportServer.xml
2019年7月4日下午3:27:31 org.apache.catalina.core.ContainerBase addChildInternal
严重:ContainerBase.addChild:开始:
org.apache.catalina.LifecycleeException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/reportServer]]
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
位于org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
位于org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
原因:org.apache.catalina.LifecycleException:无法启动组件[org.apache.catalina.webresources]。StandardRoot@79e9c8c8]
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
位于org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4937)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5067)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 10多
原因:org.apache.catalina.LifecycleException:未能初始化组件[org.apache.catalina.webresources]。JarResourceSet@3d9ef955]
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:136)
位于org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:699)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 还有13个
原因:java.lang.IllegalArgumentException:java.util.zip.zipeException:无效的结束头(错误的中央目录偏移)
位于org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:96)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 还有16个
原因:java.util.zip.ZipException:无效的结束标头(错误的中央目录偏移量)
位于java.util.zip.ZipFile.open(本机方法)
位于java.util.zip.ZipFile(ZipFile.java:225)
位于java.util.zip.ZipFile。(ZipFile.java:155)
位于java.util.jar.JarFile。(JarFile.java:166)
位于java.util.jar.JarFile。(JarFile.java:103)
位于org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:88)
... 还有17个
2019年7月4日下午3:27:31 org.apache.catalina.startup.HostConfig部署描述符
严重:部署配置描述符/etc/tomcat8/Catalina/localhost/reportServer.xml时出错
java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/reportServer]]
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
位于org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
位于org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
Tomcat似乎正在尝试解压某些内容,但失败了

我对java或Tomcat都不太熟悉,因此我无法找出导致这种失败的原因。是否有一种常见的方法来找出导致此问题的原因?通常,我会尝试运行有问题的代码并进行调试,但似乎运行此代码需要Tomcat环境,我找不到问题的根源


我还知道,该代码正在另一个虚拟(生产)服务器上成功运行,其中一些组件较旧。

它无法提取战争的jar。 如果您想检查此项,请尝试使用tomcat用来解压jar的程序或代码解压war的所有LIB。 或者为tomcat启用完整stacktrace以查看完整日志并识别损坏的jar。
您还可以尝试重建战争。

它无法提取战争的罐子。 如果您想检查此项,请尝试使用tomcat用来解压jar的程序或代码解压war的所有LIB。 或者为tomcat启用完整stacktrace以查看完整日志并识别损坏的jar。 您还可以尝试重建