2012-04-02 116 views
0

我们正在使用jetty在我们的应用程序中部署我们的战争。它与jre-jdk 1.6.0_06,u23,u31都可以正常工作,但在我们的客户系统中,应用程序会在将war提取到/ var/tmp时针对所有jre-jdk 1.6 u6,u23,u31抛出以下错误。/var/tmp目录具有默认权限。我的意思是/ var所许可的/ tmp为drwxrwxrwt 堆尺寸参数为-Xms128m -Xmx1024m码头,战争部署

OS:Solaris SPARC上5.10

我不确定内存大小,但我认为它不小于4GB。

java.util.zip.ZipException: error in opening zip file 
    at java.util.zip.ZipFile.open(Native Method) 
    at java.util.zip.ZipFile.<init>(Unknown Source) 
    at java.util.jar.JarFile.<init>(Unknown Source) 
    at java.util.jar.JarFile.<init>(Unknown Source) 
    at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:171) 
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1215) 
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) 
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147) 
    at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 
    at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) 
    at org.mortbay.jetty.Server.doStart(Server.java:210) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 

对此有何想法?

+0

这看起来不像战争文件问题的解包和更多对战争文件本身内容的处理。请参阅TagLibConfiguration类:https://github.com/eclipse/jetty.project/blob/master/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/TagLibConfiguration.java#L171 – 2012-04-03 00:19:34

回答

0

看来,JVM认为是临时目录,由于没有写入权限而无法访问。请参阅Temporary DirectoriesBug

+0

实际上,它具有。正如我写的,/ var/tmp目录具有drwxrwxrwxt权限。我将尝试使用-Djava.io.tmpdir重定向tmp目录 – Aykut 2012-04-02 12:01:41