如何使用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>
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 =&#34; true&#34;
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
deployXML="true">
答案 0 :(得分:8)
无法在 webapp 目录中放置战争,并同时在META-INF / context.xml文件中设置路径属性。 Tomcat 8 documentation清楚地说明了这个属性:
只有在server.xml中静态定义Context时,才能使用此属性。在所有其他情况下,路径将从用于.xml上下文文件或docBase的文件名推断。
答案 1 :(得分:1)
您是否只需将war文件重命名为mywebapp(通过Maven或其他方式),以便Tomcat将其部署在/ mywebapp下?
答案 2 :(得分:-1)
感谢您的研究j2gl! 我发现如何使用版本和部署的短路径来实现两个.war文件的好方法是使用Tomcat管理器API。例如通过Tomcat7-maven-plugin。