首页 文章

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

提问于
浏览
5

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

我从版本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 =“true”

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

3 回答

  • -1

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

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

  • 1

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

  • 7

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

相关问题