首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Tomcat手动部署webapp (即autoDeploy=false、noDeployOnStartup=false)

使用Tomcat手动部署webapp (即autoDeploy=false、noDeployOnStartup=false)
EN

Stack Overflow用户
提问于 2012-11-08 04:59:29
回答 4查看 13.2K关注 0票数 5

我正在尝试将几个web应用程序部署到Tomcat6.x,并且我已经关闭了autoDeploy和onDeployStartup,因为我想手动注册这些应用程序,并将它们映射到不基于其war文件名称的URL。

我将以下上下文文件放在$catalina.home/conf/Catalina/localhost中:

代码语言:javascript
复制
<Context path="" docBase="web-1.0-SNAPSHOT.war" debug="1">
</Context>

我将war文件放在$catalina.home/webapps下,但是当我启动tomcat时,什么都没有部署。我甚至没有看到任何关于我创建的上下文文件的错误消息。或者任何打印出来说有什么不对劲。

有什么问题吗?我已经阅读了很多概述自动部署的文档,但关于如何在自动部署之外实现这一点的细节却非常粗略。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-08 22:59:24

因此,关于autoDeploy的工作原理和替代部署的详细信息仅在此处进行讨论:

http://wiki.apache.org/tomcat/HowTo#How_do_I_make_my_web_application_be_the_Tomcat_default_application.3F

我不知道为什么tomcat会把事情搞得这么复杂。如果您关闭了autoDeploy,您唯一的选择就是修改server.xml并在其中添加上下文。您不能将上下文的定义外部化,这似乎是一种复杂的部署方式。如果我要花时间删除一个XML配置文件,我应该能够控制它挂载到的URL和docBase。只是让它直接向前,因为Jetty这样做。

票数 3
EN

Stack Overflow用户

发布于 2012-11-08 12:42:30

请尝试以下步骤

关闭tomcat

将web-1.0-SNAPSHOT.war复制到webapps文件夹。

部署webapp。

现在在webapps中有一个名为web-1.0-SNAPSHOT的文件夹。

转到conf/server.xml

添加以下条目

代码语言:javascript
复制
<Context path="/abc" docBase="web-1.0-SNAPSHOT" debug="1"></Context>

文档库没有.war扩展。当部署web-1.0-SNAPSHOT.war时,webapps中会有一个目录web-1.0-SNAPSHOT。文档库应指向此目录。

请确保上下文标记位于

代码语言:javascript
复制
<Host>  </Host> tag 

<Host>
    <Context path="/abc" docBase="web-1.0-SNAPSHOT" debug="1"></Context>
</Host>

编辑server.xml之后,您必须重新启动tomcat服务器以反映更改。现在您可以在以下位置找到您的webapp应用程序

代码语言:javascript
复制
localhost:8080/abc

希望这能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2012-11-08 06:54:07

将deployonstartup设置为false会告诉tomcat不要在启动时部署应用程序。我认为这足以关闭自动部署。因此,也许可以在server.xml中的主机中尝试以下命令: autoDeploy="false“deployOnStartup="true”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13278123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档