提问者:小点点

我如何指定"上下文路径"在Tomcat 8内META-INF/context. xml在javawar文件?


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

从版本5开始很长时间后,我开始使用Tomcat。我习惯于在我的war文件中创建META-INF/context. xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/mywebapp">
  ...
</Context>

Maven创建一个名为mywebapp-1.0.0. war的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中添加了部署XML="true"

 <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true" 
        deployXML="true">

共3个答案

匿名用户

不可能在webapp目录中放置war并同时在META-INF/context. xml文件中设置path属性。Tomcat 8留档,明确说明了这个属性:

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

匿名用户

您不能将您的war文件重命名为mywebapp(通过Maven或其他方式),以便Tomcat将其部署在 /mywebapp下吗?

匿名用户

谢谢你的研究j2gl!我发现如何实现全名版本和部署短路径的. war文件的好方法是使用Tomcat管理器API。例如通过Tomcat7-maven-plugin。