Jboss战争重新部署Zipexception

时间:2009-12-07 15:22:51

标签: linux ant jboss

全部,

  

服务器:jboss-5.1.0
  Java版本:jdk1.6.0_14
  部署方法:ant v1.7
  错误:08:40:04,260 WARN [ZipEntryContext]忽略:无法重新初始化上下文:vfszip:/home/username/jboss-5.1.0.GA/server/default/deploy/deployment.war
  java.util.zip.ZipException:打开zip文件时出错

如果服务器正在运行并且我在src代码上运行ant deploy,则会出现错误。这一切都是通过我们服务器上的VI完成的。

我搜索过我们的JBOSS设置,但似乎无法找到正确的一个来摆脱这个错误。想法?

更新:
这是我们的部署方法。

<target name="deploy" depends="war" description="--> The deploy target (initially empty)">
    <copy file="scripts/xmlscript.groovy" todir="${jboss.bin.dir}" overwrite="true"/>
    <copy file="grails-app/views/xmlService/current.xml" todir="${jboss.bin.dir}" overwrite="true"/>
    <copy file="${war.file}" todir="${jboss.deploy.dir}" overwrite="true"/>
</target>

感谢。

2 个答案:

答案 0 :(得分:2)

根据JBAS-6612

,不确定
  

这是一个问题,因为副本不是原子。要暂时解决此问题,请使用move命令,因为 原子。

您是否可以尝试使用Ant move任务而不是复制?

答案 1 :(得分:1)

很难说,但我的猜测是JBoss在Ant完全复制之前试图打开并部署你的WAR文件。复制到正在运行的JBoss服务器的deploy目录时,这始终是一种风险。

只有在JBoss关闭时这样做才更安全,尽管显然这不是一个理想的情况。或者,您可以禁用部署扫描程序(自动检测deploy下的可部署内容)并通过JMX手动控制部署(这有点繁琐),或者您可以降低部署扫描程序运行的频率(默认情况下)每隔5秒,在deploy/hdscanner-jboss-beans.xml)中定义。