在上下文Tomcat 7上启用autoDeploy

BRa*_*t27 2 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>
Run Code Online (Sandbox Code Playgroud)

要么

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/SRC_RichFaces" autoDeploy="true">
</Context>
Run Code Online (Sandbox Code Playgroud)

当我尝试任何一个时,都会有一个警告 [SetContextPropertiesRule]{Context} Setting property 'autoDeploy' to 'true' did not find a matching property.

有什么建议?

UPDATE

很抱歉给您带来不便,我误解了文档.我必须启用该<Host>属性autoDeploy.

所以我应该在context.xml中有类似的东西

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/TestApp"/>
<Host autoDeploy="true"/>
Run Code Online (Sandbox Code Playgroud)

我对吗?

Mar*_*mas 8

你无法做你想做的事.autoDeploy只能按主机配置,而不是按上下文配置.

您可以获得的最接近的是为Host的appBase启用autoDeploy,并将应用程序放在appBase中启用autoDeploy的位置以及appBase外的其他应用程序中.然后需要通过在$ CATALINA_BASE/Catalina/localhost下添加context.xml元素来部署它们

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

<Context docBase="/absolute/path/to/myapp.war" >
Run Code Online (Sandbox Code Playgroud)