我正在尝试将多个 Web 应用程序部署到 tomcat 6.x,并且我已关闭 autoDeploy 和 onDeployStartup,因为我想手动注册这些应用程序并将它们映射到不基于其 war 文件名称的 URL。
我已将以下上下文文件放入 $catalina.home/conf/Catalina/localhost 中:
<Context path="" docBase="web-1.0-SNAPSHOT.war" debug="1">
</Context>
我将 war 文件放在 $catalina.home/webapps 下,但是当我启动 tomcat 时,没有部署任何东西。我什至没有看到关于我创建的上下文文件的任何错误消息。或者任何打印出来的东西都说有什么不对。
有什么问题?我已经阅读了很多概述自动部署的文档,但对于如何在自动部署之外执行此操作的细节非常粗略。
最佳答案
所以关于 autoDeploy 如何工作的细节,以及替代部署只在这里真正讨论。:
我不知道为什么tomcat把这个搞得这么复杂。如果您关闭 autoDeploy,您唯一的选择是修改 server.xml 并在其中添加您的上下文。您无法将上下文的定义外部化,这似乎是部署事物的复杂方式。如果我打算花时间删除一个 XML 配置文件,我应该能够控制它安装到的 URL 和 docBase。简单明了,因为 Jetty 做到了。
关于java - 使用 Tomcat 手动部署 webapp(即 autoDeploy=false,noDeployOnStartup=false),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13278123/