一尘不染

在没有Tomcat管理器的情况下从jenkins自动部署war文件

jenkins

我想构建一个自动脚本或等效于通过jenkins将war-
file自动部署到tomcat服务器的工具。由于未启用tomcat管理器,因此“部署到容器插件”几乎是一个错,因为它需要管理器处于活动状态。目前,我正在通过scp将war文件推到tomcat,但是tomcat每次其他尝试似乎都崩溃了。我还尝试了maven-
tomcat-deploy替代方案,该方案还需要tomcat的管理器处于活动状态。还有另一种方法可以将War文件自动部署到我的tomcat吗?


阅读 248

收藏
2020-07-25

共1个答案

一尘不染

据我所知,您要么需要经理上传战争,要么将其复制。

如果Tomcat在重新部署后崩溃,我将检查是否有从Tomcat类加载器加载其类的实例到您的应用程序类加载器加载其类的实例的引用。当GC启动对您的应用程序的引用时,加载的实例将导致该类,而该类又将导致该类加载器引用所有类。因此,GC无法清除它们占用的内存。

Tomcat重新部署失败时遇到的大多数(即使不是全部)问题都是由这种引用问题引起的。因此,旧部署将保留在内存中,但不会发生任何事情。您可以增加分配的内存,但这只会推迟崩溃。

2020-07-25