雄猫未自动部署战争文件

2022-09-01 09:42:46

我按照以下步骤操作

  • 关闭雄猫
  • 部署了时间戳为 12 月 1 日的战争文件
  • 启动 Tomcat - 这为已部署的 war 文件创建了分解目录。
  • 停止雄猫
  • 使用时间戳为12月3日的新文件更新了战争文件
  • 重新启动雄猫

我发现当我重新启动Tomcat时,以前扩展的文件夹中的现有文件没有更新。战争文件的更新不应该更新相关的jsp,类文件吗?

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

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

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

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

自动部署在服务器中设置为 true.xml


答案 1

从历史上看,tomcat从来没有更新过分解的目录,当你只是掉进一个新的罐子里,至少对我来说是这样。我一直认为这是一个错误,但从来没有研究过它,因为有一个简单的解决方案。这两个应该都可以正常工作:

  • 使用内置管理器应用程序部署 war 文件。如果您同意使用 GUI 进行生产管理,那就好了。注意如果您多次部署,此工具曾经存在问题(再次,我从未深入研究过细节),但是Tomcat重新启动工作正常。
  • 停止、删除和删除。停止Tomcat,删除分解的目录,放入新的war文件。

  • 答案 2

    添加自动部署 = true。为我工作

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    

    推荐