Tomcat 7部署阻止我进行微小的更改

时间:2012-09-17 11:44:24

标签: java tomcat tomcat7 war

刚从Tomcat 5迁移到Tomcat 7并遇到部署问题。

我通过将widget.war复制到webapps中来初步部署我的应用程序小部件,这样可行,Tomcat会部署并爆炸战争。

当我想进行更改时会出现问题。

如果我重新部署战争一切正常,但因为我将战争上传到远程服务器,这可能会很慢。因此,如果我只是更改一个类,我只需将新类直接复制到展开的文件夹结构中,然后关闭并重新启动Tomcat,但它没有效果。

我想我已经解决了,因为widget.war被重新部署,所以我的新类被widget.war中的旧版本的类替换。那么我手动删除widget.war所以它不会被覆盖但是在关机/启动时我根本没有widget文件夹。它消失了!

为什么这样,Tomcat 5没有发生这种情况。

2 个答案:

答案 0 :(得分:2)

以这种方式部署单个文件修复程序是一种可靠的方法,可以让您无法重建在服务器上运行的内容以及“但仍然难以维护”的情况。 / p>

干净的解决方案是只部署完整的战争文件

现在你说将它复制到远程服务器的速度很慢?对此有一个简单的解决方案:

在远程服务器(Tomcat webapps目录之外)的某处保留最新war文件的副本,并在其上rsync新版本:这应该快得多,因为只需要传输更改的数据。然后从该目录进行部署。

答案 1 :(得分:1)

如果在tomcat运行时删除.war文件,它也会删除展开的目录。 您可以先关闭tomcat,删除.war文件,然后重新启动或更好,为什么不直接将.war文件解压缩到webapps文件夹中(但不要将.war文件放在webapps中)。