Tomcat将始终将war文件的内容提取到同名的文件夹中(当它配置为部署wars时 - 作为默认值等)。
您可以将其解压缩为您选择的文件夹名称。因此,如果您将 的内容解压缩到手动调用的文件夹中,而不仅仅是将 war 拖放到 Web 应用程序文件夹中,它仍将加载 Web 应用程序。foo.war
bar/
但是,这是完全不必要的,因为您可以通过覆盖应用程序的上下文根元素来指定应用程序的URL模式,而不会弄乱文件夹/war文件名:
这通常设置在Tomcat中 - 但这种做法被广泛阻止。相反,我建议您在Web应用程序/ war文件的META-INF文件夹中使用:server.xml
context.xml
<Context path="/bar" .../>
部署应用程序时,应将 复制到 ,但重命名为context.xml
/conf/Catalina/localhost
foo.xml
请注意,conext 根目录必须是唯一的,如果您使用的是 or 操作(源 http://tomcat.apache.org/tomcat-7.0-doc/config/context.html),还需要考虑一些其他注意事项。autoDeploy
deployOnStartup
其他选项包括:
- 清理每个部署的 Web 应用文件夹,并加入新的战争。
foo-1.1.0
- 在平面文件中包括版本号。
foo/version1
- 或者简单地将版本包含在配置/ XML文件中。
您还可以使用 Ant(或等效工具)来自动执行部署(并执行上述任何一项)。