如何更改ROOT应用程序?

129 tomcat tomcat6

我正在尝试将Tomcat 6网络服务器的默认应用程序更改为与"ROOT"(在webapps文件夹内)不同的应用程序.做这个的最好方式是什么?

小智 127

有三种方法:

  • 首先从其bin目录(sh shutdown.sh)关闭Tomcat .然后删除Tomcat webapps文件夹的所有内容(rm -fr *).然后将WAR文件重命名为ROOT.war,最后从bin目录(sh startup.sh)启动Tomcat .

  • 将war文件保留$CATALINA_BASE/webapps为原始名称.关闭 文件中Host元素中的autoDeploydeployOnStartupserver.xml.明确定义所有应用程序上下文server.xml,同时指定pathdocBase属性.您必须执行此操作,因为您已禁用所有Tomcat自动部署机制,并且Tomcat将不再部署您的应用程序,除非它在其中找到它们的Context server.xml.

    第二种方法:为了对任何应用程序进行任何更改,您必须停止并重新启动Tomcat.

  • 将WAR文件放在外面$CATALINA_BASE/webapps(必须在外面以防止双重部署).将命名上下文的文件ROOT.xml$CATALINA_BASE/conf/.此上下文文件中的单个元素必须具有 指向WAR文件位置的docBase属性.不应设置path元素 - .xml在这种情况下,它是从文件名中派生的ROOT.xml.有关详细信息,请参阅Context容器文档.

参考

  • 我尝试了第一种方法,它的工作原理!Bdw - 你不需要删除所有内容.我刚刚删除了ROOT文件夹并将我的战争重命名为ROOT.war,它就像一个魅力. (4认同)

小智 24

<Context><Host>标记中server.xml为Tomcat 6 添加标记将解决该问题.

如果您使用path=""空,则可以使用类似的URL http://localhost/first.do.

在背景标签设置属性docBase="E:\struts-ITRCbook\myStrutsbook"reloadable="true",然后结束背景标签.

它应该看起来像这样:

<Host name="localhost"  appBase="webapps" 
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="E:\struts-ITRCbook\myStrutsbook" reloadable="true">
    </Context>
</Host>
Run Code Online (Sandbox Code Playgroud)

  • 根据文档:对于Tomcat 6,与Tomcat 4.x不同,不建议将<Context>元素直接放在server.xml文件中.这是因为它使得修改Context配置更具侵入性,因为在不重新启动Tomcat的情况下无法重新加载主conf/server.xml文件. (4认同)

Sud*_*yam 24

在Tomcat 7中进行了这些更改,我可以访问myAPPat /ROOTat/ROOT

<Context path="" docBase="myAPP"/>
<Context path="ROOT" docBase="ROOT"/>
Run Code Online (Sandbox Code Playgroud)

将上面的<Host>内容添加到server.xml中的部分


小智 16

ROOT默认应用程序通常是Tomcat管理器 - 这可能很有用,所以感觉就像保持它一样.

所以我让我的应用ROOT和保持TCmgr的方式是这样的.

将ROOT重命名为其他内容

mv ROOT TCmgr

然后创建了一个符号链接,ROOT指向我想要默认的应用程序.

ln -s __CODE__ROOT

为我工作,似乎是最简单的方法.

--nestochan


Jon*_*Jon 12

根据Apache Tomcat文档,您可以通过创建ROOT.xml文件来更改应用程序.有关详细信息,请参阅此

http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

"可以使用名为ROOT.xml的文件来定义默认Web应用程序."


gar*_*les 12

您可以通过以下方式轻松实现此目的:

  1. 停止Tomcat
  2. 将ROOT.war移到一边,然后移动rm -rf webapps/ROOT
  3. 将您想要的webapp复制到webapps/ROOT.war
  4. 启动Tomcat

  • 丑陋或可能是icky,但hacky可能是错误的术语,因为这似乎是官方/支持的方法. (2认同)