Tomcat没有自动部署war文件

zig*_*ggy 30 java tomcat war java-ee

我按照以下步骤操作

  • 关闭Tomcat
  • 部署了一个时间戳为12月1日的war文件
  • 启动Tomcat - 这为已部署的war文件创建了展开的目录.
  • 停止Tomcat
  • 使用时间戳为12月3日的新文件更新了war文件
  • 重启Tomcat

我发现当我重新启动Tomcat时,先前展开的文件夹中的现有文件未更新.war文件的更新是否已更新相关的jsp,类文件?

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

除了发生在启动时自动部署,您还可以请求新的XML配置文件,WAR文件或子目录都在下降到的appBase(或
CATALINA_HOME/conf目录/ [引擎名称]/[host_name]等在$根据上述规则,将自动部署Tomcat运行时的XML配置文件目录.自动部署程序还将跟踪Web应用程序以进行以下更改:

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

由于上面的第2点,文件是否已自动更新?

autodeploy在server.xml中设置为true

DwB*_*DwB 30

从历史上看,当你刚放入一个新罐子时,tomcat从未更新过爆炸目录,至少对我而言.我一直认为这是一个错误,但从来没有调查它,因为有一个简单的解决方案.这两个都应该工作正常:

  • 使用内置管理器应用程序部署war文件.如果您可以使用GUI进行生产管理,那就很好. 注意如果您多次部署此工具曾经有问题(同样,我从未深入研究过细节),但Tomcat重启工作正常.
  • 停止,删除和删除.停止Tomcat,删除展开的目录,然后放入新的war文件.
    • Tomcat用这一段解释了这一点:"应用程序库(appBase)目录中没有相应目录的任何web应用程序归档文件(没有".war"扩展名)将自动展开,除非unpackWARs属性如果重新部署更新的WAR文件,请确保在重新启动Tomcat时删除展开的目录,以便重新扩展更新的WAR文件(请注意,如果启用了自动部署程序,将自动扩展更新的删除先前展开的目录后的WAR文件.)" (7认同)

    Mir*_*ciu 7

    添加autoDeploy = true.适合我

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    
    Run Code Online (Sandbox Code Playgroud)

    • 在tomcat conf目录中编辑server.xml,就在那里 (5认同)

    Ric*_*mon 6

    我通常将server.xml中的autodeploy设置为false.这允许我放弃新的war并重新启动tomcat而不必处理相应的目录.