在开发过程中,我经常不得不将一个较大的war文件(〜45 MB)部署到远程测试服务器,通常我将带有scp的文件复制到服务器。
WEB-INF / lib文件夹构成war文件的最大部分,其中包括所有必需的库(spring,apache-cxf,hibernate等)。
现在,我正在寻找一种快速简便的方法来仅重新部署已更改的文件。
以及我该如何确定Webapp真正需要哪些软件包,因为spring和apache-cxf带有很多库,因此我确定我并不需要它们。
部署时.war,Tomcat要做的第一件事是将该文件解压缩到其webapps目录中的子目录中,该子目录与您的同名.war。
.war
webapps
在开发期间,您显然可以访问您的.class文件,.jar文件,配置文件以及最终进入您的文件的任何其他文件.war。您可以轻松地建立一小部分受更改影响的文件。找出原因,然后使用脚本或ant任务或其他方法将少量文件直接复制到webapps/yourapp服务器上的目录中。
.class
.jar
ant
webapps/yourapp
要查看更改生效,您需要重新启动应用程序。如果Tomcat处于开发模式,则强制重新加载(当然,然后重新启动)的一种简单方法是update WEB- INF/web.xml。因此,让您的部署过程处理touch该文件或以其他方式对其进行更新,使其具有新的时间戳记scp(最好是更新的最后一个文件),并且应该快速轻松地重新加载。
WEB- INF/web.xml
touch
scp