Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在上下文Tomcat 7上启用自动部署_Java_Tomcat_Context.xml - Fatal编程技术网

Java 在上下文Tomcat 7上启用自动部署

Java 在上下文Tomcat 7上启用自动部署,java,tomcat,context.xml,Java,Tomcat,Context.xml,我一直在读到,启用autoDeploy选项将导致在放置新war文件时热部署应用程序。如果我只想在一个应用程序中设置autoDeploy,而不是在整个服务器中,我应该在/META-INF/context.xml中启用它,对吗 如果是这样的话,文件应该是以下哪一个 <?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/TestApp"> <autoDeploy&g

我一直在读到,启用
autoDeploy
选项将导致在放置新war文件时热部署应用程序。如果我只想在一个应用程序中设置
autoDeploy
,而不是在整个服务器中,我应该在
/META-INF/context.xml
中启用它,对吗

如果是这样的话,文件应该是以下哪一个

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/TestApp">
    <autoDeploy>true</autoDeploy>
</Context>

我说得对吗?

你不能做你想做的事。autoDeploy仅可按主机配置,而不是按上下文配置

最接近的方法是为主机的appBase启用autoDeploy,并将要启用autoDeploy的应用程序放置在appBase中,以及appBase之外的其他应用程序中。然后需要通过在$CATALINA_BASE/CATALINA/localhost下添加context.xml元素来部署它们

例如,要以这种方式部署我的应用程序,您需要创建以下文件:
$CATALINA_BASE/CATALINA/localhost/myapp.xml
内容包括:

<Context docBase="/absolute/path/to/myapp.war" >

我不确定是否可以为应用程序设置
autoDeploy
。它通常设置在服务器级别,指示tomcat在基本位置查找war文件的更改/添加。如果在服务器级别禁用了
autoDeploy
,tomcat甚至不会知道在基本位置已删除了一个context.xml为
autoDeploy=true
的web应用程序。顺便说一下,context.xml特定于应用程序的位置是
/META-INF/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/TestApp"/>
<Host autoDeploy="true"/>
<Context docBase="/absolute/path/to/myapp.war" >