2

我一直在阅读,启用该autoDeploy选项将导致在放置新的战争文件时热部署应用程序。如果我只想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"/>

我对吗?

4

1 回答 1

8

你不能做你想做的事。autoDeploy 只能按主机配置,不能按上下文配置。

您可以获得的最接近的方法是为主机的 appBase 启用自动部署,并将您希望在 appBase 中启用自动部署的应用程序以及 appBase 之外的其他应用程序放置在其中。然后需要通过在 $CATALINA_BASE/Catalina/localhost 下添加 context.xml 元素来部署这些

例如,以这种方式部署我的应用程序,您将创建文件:
$CATALINA_BASE/Catalina/localhost/myapp.xml
,其内容为:

<Context docBase="/absolute/path/to/myapp.war" >
于 2012-04-05T13:54:41.673 回答