我已经阅读了一些相关问题,但我没有找到解决方案。
我在war文件中有一个包含版本号的webapp。例如,sourceWarName.war。我不能使用远程部署,war文件将通过tomcat管理器web界面手动部署。我希望通过静态路径访问webapp(与版本分离),例如,http://someserver:8080/targetPath 如tomcat docs和stack overflow question中所述,可以在我的应用程序的META-INF文件夹中创建一个context.xml,如下所示:
<Context path="targetPath" debug="0" reloadable="true">
...
</Context>
然后应该将文件复制到/tomcat7/conf/Cataline/localhost/sourceWarName-1.0.0.xml。但是,这不起作用。没有复制xml文件。我在server.xml中配置了host-entry,以确保我们不会像这样进行双重部署:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false" deployOnStartUp="false" copyXml="true">
然而,在/sourceWarName-1.0.0下仍然可以访问该应用程序。 我错过了什么?
我尝试了this question的答案,但这对我没有用。只有差异似乎是docBase。 Tomcat doc讲述了docBase:
除非Context元素为,否则不得设置此字段的值 在server.xml中定义,或者docBase不在Host的下面 的appBase。
我在server.xml中没有上下文元素,appBase是相同的。 运行Apache Tomcat / 7.0.52(Ubuntu)。