2012-09-17 25 views
2

刚刚从Tomcat 5移动到Tomcat 7,并遇到部署问题。Tomcat 7部署阻止我进行小的更改

我intially复制widget.war到web应用部署我的应用程序窗口小部件,这个工作,Tomcat的部署和爆炸的战争。

问题出现在我想制作变更

如果我重新部署战争的一切工作,但因为我上传战争到远程服务器这可能是非常缓慢的。所以如果我只是改变一个类,我只是直接将新类复制到爆炸文件夹结构中,然后关闭并重新启动Tomcat,但它没有任何作用。

我想我已经制定了这是因为widget.war被重新部署,所以我的新类获得由widget.war旧版本的类取代。所以然后我手动删除了widget.war,所以它不能被覆盖,但然后在关机/启动我没有任何部件文件夹。它消失了!

这是为什么,这并没有使用Tomcat 5

回答

1

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

+0

Thankyou解释这个问题。我不想关闭超过我必须关闭的Tomcat,但作为其活动服务器,我可能会尝试从另一个文件夹解决方案解压缩。 –

2

部署单个文件修复这种方式是一种肯定的方式来获得进入的情况下,你不能重建有什么服务器上运行,这就是在但维持疼痛。

干净的解决方案是永远只部署全面战争文件

现在你说,它复制到远程服务器很慢?有一个简单的上下的解决了这个:

保持最新的战事文件的副本某处的远程服务器上(外面的Tomcat的webapps目录)和rsync在它的新版本:这应该是更快,因为只有需要传输更改的数据。然后从该目录进行部署。

+1

我仍然每次构建整个战争,我只是不需要复制整个战争,但我会研究你的思想。通过部署我asume你的意思只是复制本地widget.war到webapps文件夹 –

+1

使用rsync是一个好主意,你可以解压生成的.war文件在你的机器和rsync到你的服务器的webapp文件夹中的解压目录。 –

+0

我认为这个想法是在战争中使用rsync而不是解压后的战争。 –