我一直在阅读启用autoDeploy
选项会导致在放置新的war文件时热部署应用程序。如果我只想在一个应用中设置autoDeploy
而不是在整个服务器中,我应该在<app>/META-INF/context.xml
启用它,我是对的吗?
如果是这样,该文件应该看起来像以下哪一个?
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/TestApp">
<autoDeploy>true</autoDeploy>
</Context>
或
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/SRC_RichFaces" autoDeploy="true">
</Context>
当我尝试其中之一时,会出现警告[SetContextPropertiesRule]{Context} Setting property 'autoDeploy' to 'true' did not find a matching property.
有什么建议吗?
更新
很抱歉给您带来不便,我误解了文档。我必须启用<Host>
属性autoDeploy
。
所以我应该在 context.xml 中有类似
的东西<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/TestApp"/>
<Host autoDeploy="true"/>
我是对的吗?
答案 0 :(得分:8)
你无法做你想做的事。 autoDeploy只能按主机配置,而不是按上下文配置。
最接近的是为主机的appBase启用autoDeploy,并将应用程序放在appBase中启用autoDeploy的位置以及appBase外的其他应用程序中。然后需要通过在$ CATALINA_BASE / Catalina / localhost
下添加context.xml元素来部署它们 E.g。以这种方式部署我的应用程序你创建文件:
$ CATALINA_BASE /卡塔利娜/本地主机/ myapp.xml
内容:
<Context docBase="/absolute/path/to/myapp.war" >