一尘不染

Tomcat无法自动部署War文件

tomcat

我按照以下步骤

  • 关闭Tomcat
  • 部署了带有12月1日时间戳的战争文件
  • 启动Tomcat-这为已部署的war文件创建了爆炸目录。
  • 停止Tomcat
  • 用12月3日时间戳记的新文件更新了战争文件
  • 重新启动Tomcat

我发现当我重新启动Tomcat时,以前扩展的文件夹中的现有文件未更新。对war文件的更新是否应该更新了相关的jsp,class文件?

我查看了文档,发现了这个http://tomcat.apache.org/tomcat-5.5-doc/config/host.html。在“自动应用程序部署”下的以下引用

除了在启动时进行自动部署外,您还可以请求将新的XML配置文件,WAR文件或子目录放入appBase(或
$ CATALINA_HOME / conf / [engine_name] /
[host_name]中)。根据上述规则,将自动部署Tomcat运行时的XML配置文件)目录。自动部署程序还将跟踪Web应用程序的以下更改:

  • 对WEB-INF / web.xml文件的更新将触发Web应用程序的重新加载
  • 对WAR的更新(已扩展)将触发取消部署(删除已扩展的Webapp),然后进行部署
  • XML配置文件的更新将触发取消部署(不删除任何扩展目录),然后部署关联的Web应用程序

是否应该由于上述第2点而自动更新文件?

在server.xml中将Autodeploy设置为true


阅读 592

收藏
2020-06-16

共1个答案

一尘不染

从历史上看,tomcat从来没有更新过分解目录,仅当您放入新的jar时,至少对我而言。我一直以为这是一个错误,但是因为有一个简单的解决方案,所以从未研究过它。这两个都应该正常工作:

  • 使用内置的Manager应用程序部署war文件。如果可以使用GUI进行生产管理,则可以。 注意: 如果您多次部署,此工具曾经会出现问题(再次,我从未深入研究细节),但是重新启动Tomcat效果很好。
  • 停止,删除和删除。停止Tomcat,删除展开的目录,放入新的war文件。
2020-06-16