我们正在使用Liferay平台,它使用Tomcat servlet。我们已经部署了模块,这些模块由另一个编译的jar组成。现在,我们编写了一个简单的程序,监视我们的资源并在检测到更改时将其替换为webapps文件夹。这很好,但是当我们尝试替换已编译的jar(js,html等)中的源时,Tomcat会检测更改并开始重新部署。
有没有办法在不影响Tomcat自动重新部署的情况下替换已编译jar中的资源?我们的Tomcat重新部署需要花费大量时间,我们只想按需重新部署资源。
答案 0 :(得分:2)
您可以将自动部署设置Host autoDeploy
属性设置为false。然后,您可以使用启动脚本,tomcat管理器或REST API来重新部署。
<Host autoDeploy="false"
请参阅https://tomcat.apache.org/tomcat-7.0-doc/deployer-howto.html#Deploying_on_a_running_Tomcat_server
您还可以考虑使用tomcat API按需部署并提供战争。有一个Ant任务可用。见this example