2010-10-15 35 views
2

我有一个Host,它不会自动部署所有Web应用程序。让Tomcat重新加载带有静态上下文的Web应用程序

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

但我想dreambear web应用程序自动重新加载无需重新启动,用于开发目的(因此这是对SO,不是服务器故障)。

卡塔利娜/本地主机/ dreambear.xml

<Context reloadable="true"> 
    <Parameter name="gamePageUrl" value="http://****/dreambear.html" /> 
</Context> 

我通过部署在的webapps目录将dreambear.war的Web应用程序。不幸的是,它不会自动得到重新加载:

  • (主持人:unpackWARs = FALSE):战争的新版本没有检测
  • (主持人:unpackWARs = TRUE):战争的新版本没有解压缩
  • (主机:unpackWARs = true):如果我删除解压后的目录,新的WAR将被解压缩但未部署。

有没有办法实现我想要的?我不想启用autoDeploy,因为每次我放入新的WAR(see here)时,我的上下文xml都会被删除。

回答

2

我尝试了一些组合,并且他们都不会从WAR文件重新部署,其中autoDeploy设置为false

设置reloadabletrueContext不会工作,因为文档状态

设置为true,如果你想卡塔利娜到 显示器类/ WEB-INF /班/ 和/ WEB-INF/lib进行更改,如果检测到更改, 会自动重新加载web 应用程序。

我也尝试从管理Web应用程序重新加载

http://localhost:8080/manager/reload?path=/dreambear 

然而,这也用不了从战争

变化这可能是有用的,当网络 应用程序上下文不可重新加载 并且您已更新/ WEB-INF /类中的类或 属性文件目录或当您添加或更新了/ WEB-INF/lib目录中的 jar文件。

manager docs都在此

目前更加清晰,应用程序重装(以 拿起更改类或 网络。当从WAR文件直接部署 Web应用程序 时,不支持xml文件)。它只适用于 Web应用程序从 部署一个解压目录。如果您使用WAR文件为 ,则应取消部署 ,然后使用更新参数 更新参数再次部署或部署应用程序,以再次应用 以获取您的更改。

+0

我想我只会诉诸上载应用程序作为目录而不是战争。我隐约记得,从我上学的日子来看,无论如何Tomcat的效果都更好。 – 2010-10-18 10:57:43

相关问题