PaaS 启动报错:java.util.zip.ZipException

JeffreyLin 发布于 2014/11/09 21:41
阅读 956
收藏 0

@Zoker 你好,想跟你请教个问题:

项目名称:http://git.oschina.net/jlin/delonix
PaaS 启动时报以下错误,请帮忙看一下是怎么回事,谢谢!

WARNING: Failed to scan JAR [file:/var/vcap.local/dea/apps/delonix-0-6474a3039119208a14166875a41cd826/tomcat/webapps/ROOT/WEB-INF/lib/spring-webmvc-3.2.6.RELEASE.jar] from WEB-INF/lib
java.util.zip.ZipException: error in opening zip file

加载中
0
Zoker
Zoker
帮您查了一下,清空 WEB-INF/lib里面的zip文件试一下,具体可以看下这里
JeffreyLin
JeffreyLin
回复 @Zoker : 我也怀疑文件有问题,部署了几次都是这个问题,难道问题在 Maven 仓库?这不大可能啊
红薯
红薯
感觉文件有问题啊
Zoker
Zoker
好像不是这个问题,我帮你问下
0
JeffreyLin
JeffreyLin
@Zoker @红薯

为了方便分析排查,建了一个最小化的 Maven war 项目,
只是在 web.xml 里定义了一个 spring application context,
app.xml 里没有定义任何 bean

请参见:http://git.oschina.net/jlin/demo

0
Zoker
Zoker

那边的测试人员本地跑http://git.oschina.net/jlin/demo报错:

严重: Error starting static Resources
java.lang.IllegalArgumentException: Document base /home/wujm/test/mydemo/META-INF/maven/net.gazhi.delonix/demo/src/main/webapp does not exist or is not a readable directory

您本地是成功的吗?

JeffreyLin
JeffreyLin
从“那边”的异常信息来看,/home/wujm/test/mydemo 应该是war解压后得到的目录,应该用 /home/wujm/test/mydemo 作为 document base,不是 /home/wujm/test/mydemo/META-INF/maven/net.gazhi.delonix/demo/src/main/webapp
JeffreyLin
JeffreyLin
是的,这是 windows下执行 maven clean package 打包的结果: http://git.oschina.net/jlin/demo/blob/master/archive/demo-1.0.0-SNAPSHOT.war
0
JeffreyLin
JeffreyLin

@Zoker  @红薯  

查看了 spring-webmvc-3.2.6.RELEASE.jar 里的 META-INF/MANIFEST.MF
内容如下:
Manifest-Version: 1.0
Created-By: 1.7.0_45 (Oracle Corporation)
Implementation-Title: spring-webmvc
Implementation-Version: 3.2.6.RELEASE

而 PaaS 的 jdk 版本是:java-6-openjdk

会不会是 openjdk 的兼容性问题导致的呢?
参考:https://jira.atlassian.com/browse/JRA-39526

JeffreyLin
JeffreyLin
回复 @Zoker : 经测试 Spring 低于和高于3.2.6版本的都可以运行,可以排除这个猜测
Zoker
Zoker
copy that
0
JeffreyLin
JeffreyLin

@Zoker

我把 spring 的版本从 3.2.0 到 3.2.11 全在 PaaS 上测了一遍,
只有版本为 3.2.6 时有启动异常 Failed to scan JAR,
怀疑是 PaaS 主机上的本地 Maven 库有问题
(网络异常,导致spring-webmvc-3.2.6.RELEASE.jar没正常下载)

麻烦你能把这个目录删掉吗:
/root/.m2/repository/org/springframework/spring-webmvc/3.2.6.RELEASE

在删除前,你可以把这个目录备份一下,校对文件是否真的损坏

JeffreyLin
JeffreyLin
回复 @Zoker : 好的,我不用3.2.6版本就可以了,这个问题感觉很怪诞,想弄个究竟
Zoker
Zoker
刚看到,没收到消息,我这两天一直逼着他们处理呢,这个我会反馈给他们的
返回顶部
顶部