如何在java war文件中的META-INF/context.xml内的Tomcat 8上指定"上下文路径"?

j2g*_*2gl 6 java tomcat war tomcat8

如何使用Tomcat 8上war文件中的context.xml 将mywebapp-1.0.0.war部署到带有上下文路径/ mywebapp的 $ TOMCAT_HOME/webapps目录?

我从版本5开始回到Tomcat.我习惯在war文件中创建META-INF/context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/mywebapp">
  ...
</Context>
Run Code Online (Sandbox Code Playgroud)

Maven使用以下名称创建war文件:mywebapp-1.0.0.war

但是当我将war文件部署到$ TOMCAT_HOME/webapps目录时,上下文路径将是http:// localhost:8080/mywebapp-1.0.0而不是http:// localhost:8080/mywebapp /.

另外我看到$ TOMCAT_HOME/conf/Catalina/localhost是空的,而不是从部署的war文件中复制xml文件.

我还在$ TOMCAT_HOME/conf/server.xml中添加了deployXML ="true"

 <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true" 
        deployXML="true">
Run Code Online (Sandbox Code Playgroud)

j2g*_*2gl 8

无法在webapp目录中放置war 并同时在META-INF/context.xml文件中设置path属性.Tomcat 8 文档,清楚地说明了这个属性:

只有在server.xml中静态定义Context时,才能使用此属性.在所有其他情况下,将从用于.xml上下文文件或docBase的文件名推断出该路径.