0 0

项目移到linux环境下时tomcat报错 java.util.zip.ZipException: invalid END header 25

我把我的一个windows环境下的项目移到linux环境下时tomcat报错,报错如下:
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:114)
at java.util.jar.JarFile.<init>(JarFile.java:133)
at java.util.jar.JarFile.<init>(JarFile.java:97)
at org.apache.catalina.loader.WebappLoader.setRepositories(WebappLoader.java:1023)
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:620)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3607)
at org.apache.catalina.startup.HostConfig.checkWebXmlLastModified(HostConfig.java:704)
at org.apache.catalina.startup.HostConfig.run(HostConfig.java:944)
at java.lang.Thread.run(Thread.java:619)
Stopping service Tomcat-Standalone
Apr 14, 2011 2:54:13 PM org.apache.coyote.http11.Http11BaseProtocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-80
Apr 14, 2011 2:54:22 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-80
Starting service Tomcat-Standalone
Apache Tomcat/4.1.39-LE-jdk14
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:114)
at java.util.jar.JarFile.<init>(JarFile.java:133)
at java.util.jar.JarFile.<init>(JarFile.java:97)
at org.apache.catalina.loader.WebappLoader.setRepositories(WebappLoader.java:1023)
at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:620)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3607)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:777)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:538)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:265)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:731)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:649)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:379)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:808)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:335)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1156)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:697)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2213)
at org.apache.catalina.startup.Catalina.start(Catalina.java:484)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:371)
at org.apache.catalina.startup.Catalina.process(Catalina.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:151)
##Webapp path: /var/apache-tomcat-4.1.39/webapps/ano/
##Webapp name: ano
##Log4j      : WEB-INF/config/common/log4j.properties
##Config File: WEB-INF/config/common/cfg_zh.properties

我在网上找了很多的答案,问题仍未解决,自己试了很多方法,基本已能确定是后台打包成的jar包的问题,只要一把后台代码的jar包移过去,tomcat就报这个错误,网上说是跟excel的操作有关系,我的项目中的确是有excel的操作,但问题如何解决就不知道了,希望有碰到过类似问题的好心人帮忙回答下,拜谢啦,这个问题困扰我一星期了

问题补充:
walnutprince 写道
你是怎么移的?
若是FTP,改成bin模式试试?


我就直接把web项目移到linux下的tomcat中,前台直接拿过去,后台打成jar包放到\WEB-INF\lib下,servlet配置添加到web.xml中

问题补充:
walnutprince 写道
你是如何把jar包从windows上移到linux上的?,用的什么工具?,不会是用一个2进制编辑器一个字节一个字节的敲进去的吧.

恩,你给我启发了,还真有可能是jar包传上去的时候没传好或者是没传完整,你说的bin模式是怎么传啊?


问题补充:
shadabing 写道
你方便上传代码,我帮你看看

不是代码的问题了,因为项目在windows环境下是在正常使用的,然后部署到一台linux的服务器上才报这个错的

问题补充:呼~终于解决了,最后发现是因为程序中引用到的一个jar包的版本和linux服务器上不一样,所以服务器启动时它就找不到那个引用的jar导致报错~最后谢谢大家帮忙!
2011年4月14日 16:48

4个答案 按时间排序 按投票排序

0 0

采纳的答案

你是如何把jar包从windows上移到linux上的?,用的什么工具?,不会是用一个2进制编辑器一个字节一个字节的敲进去的吧.

2011年4月14日 17:36
0 0

java.util.zip.ZipException: invalid END header (bad central directory offset)
我也遇到同样的问题了,请问楼主是怎么解决的这个问题的呢?还请详细说一下,以防别人再遇到同样的问题。

2014年9月10日 12:42
0 0

你方便上传代码,我帮你看看

2011年4月14日 19:36
0 0

你是怎么移的?
若是FTP,改成bin模式试试?

2011年4月14日 17:18

相关推荐

Global site tag (gtag.js) - Google Analytics