Java Tomcat 5.5:.jar未在上发布。war重建 提要

Java Tomcat 5.5:.jar未在上发布。war重建 提要,java,tomcat,jar,war,tomcat5.5,Java,Tomcat,Jar,War,Tomcat5.5,我试图将WAR导出到我的webapps文件夹,但每次更新WAR时,它都会删除webapp减去/WEB-INF/lib/struts.jar的所有内容 系统信息 Windows2K3 Tomcat 5.5 JRE 1.6.23 好的,下面是正在发生的事情: 通过Eclipse(Helios)将项目导出为.WAR到/webapps目录 Tomcat看到了战争中的变化,并试图重建webapp Tomcat删除webapp文件夹(/webapps/public)的内容 (/webapps/publi

我试图将WAR导出到我的webapps文件夹,但每次更新WAR时,它都会删除webapp减去/WEB-INF/lib/struts.jar的所有内容

系统信息
  • Windows2K3
  • Tomcat 5.5
  • JRE 1.6.23
好的,下面是正在发生的事情:
  • 通过Eclipse(Helios)将项目导出为.WAR到/webapps目录
  • Tomcat看到了战争中的变化,并试图重建webapp
  • Tomcat删除webapp文件夹(/webapps/public)的内容
  • (/webapps/public/WEB-INF/lib/struts.jar)已锁定,无法删除
  • Tomcat放弃了重建,使我的文件夹中除了struts.jar之外什么都没有,导致应用程序崩溃
  • 问题:
    • 有没有办法防止罐子被锁上
    • (或者)我应该使用更好的部署流程(并且可以很快获得)

    元素上使用
    antiresourcelock=“true”
    antiJARLocking=“true”
    并没有解决问题。感谢您的帮助。

    我想您的需求是在eclipse是您的IDE的情况下快速部署和重建。 正如您所发现的,将war文件导出到webapps文件夹并不是最好的选择。几乎没有其他选择

    a) 使用sysdeo tomcat插件——sysdeo部署项目文件夹

    b) 更新要以分解格式部署的生成脚本。-将\build文件夹部署为分解的应用程序

    第一种选择最简单。第二种选择是更清洁


    (关闭话题)考虑切换到Tomcat 7

    < P>这是否有相关性?引用tiles-config.xml中导致问题的DTD

    这可能不是最佳解决方案,但我以前在Tomcat 6上也遇到过类似的问题。在我使用Ant的时候,我编写了一个Ant脚本,它将在本地部署到Tomcat,在这个过程中,它将在必要时停止/启动Tomcat(Tomcat被部署为一个服务,因此我可以使用它)。这包括删除旧的扩展WAR文件夹


    我认为可能有更好的选择,但这对我来说很有效。

    向上下文添加
    unloaddlay
    是否有帮助

    以下哪一项是:

    容器将释放的毫秒数 等待servlet卸载。如果不是 指定,则为 国旗是2000毫秒

    资料来源:

    显然,Web应用程序有时处于大型GC /类装载器中,没有被垃圾回收,无法及时释放。尝试尝试超时,看看这是否有帮助

    还有一些轶事证据表明Windows平台上存在奇怪的文件锁定

    另外,假设您指的是开发(而不是生产)构建环境,请看我的一个问题,其中展示了我对Tomcat/Eclipse热部署环境的方法:


    更新

    这条有用的线索出现在谷歌对同一问题的搜索中,其他一些人也提到了这条线索:


    “当使用URL.openAsStream(或类似的方法,我忘记了确切的细节)加载资源时,sun jdk会缓存对该资源的引用,以优化将来对该资源的访问。但这意味着在Windows上该文件是“打开”的,因此无法删除。”,让我们看看这个问题是否适用于asker/OP。不适用,我们没有使用tiles-config.xml。我们正在迁移到7,但是我们必须支持一个大型应用程序,该应用程序在Tomcat7上运行得不好。我将研究sysdeo插件。已解决:您的更新是正确的。通过添加。。。在/Tomcat 5.5/conf/context.xml文件中,而不是在webapp本身中,它解决了jar锁定问题。这是你50岁的名声,非常感谢。非常感谢你的赏金。很高兴我能帮忙D