Java Tomcat 5.5:.jar未在上发布。war重建 提要
我试图将WAR导出到我的webapps文件夹,但每次更新WAR时,它都会删除webapp减去/WEB-INF/lib/struts.jar的所有内容 系统信息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
- Windows2K3
- Tomcat 5.5
- JRE 1.6.23
- 有没有办法防止罐子被锁上李>
- (或者)我应该使用更好的部署流程(并且可以很快获得)
在
元素上使用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