在上下文Tomcat 7上启用autoDeploy

时间:2012-04-04 18:47:28

标签: java tomcat context.xml

我一直在阅读启用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"/>
我是对的吗?

1 个答案:

答案 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" >