首页 文章

在tomcat 7中设置默认应用程序

提问于
浏览
13

我已经完成了描述如何将给定WAR(比如abc.war)配置为tomcat中的默认web-app的线程 .

将abc.war重命名为ROOT.war

要么

在$ / conf / Catalina / localhost中使用path =“”创建上下文ROOT.xml,并将docBase设置为war的相对/绝对路径(将abc.war保留在webapps之外以避免双重部署) .

这两个解决方案都会在webapps(appBase)目录中生成ROOT.war . 但是我想在webapps中保留WAR名称(abc.war),而没有单独的ROOT.war来实现这一点 .

在我的案例中有一个解决方案是在server.xml中的<Host>标记下添加一个上下文 . 但是根据Tomcat 7 Doc,不建议直接在server.xml中添加上下文 .

有人能指出我的替代方案吗?

谢谢 .

1 回答

  • 19

    detailed approach

    First Method:

    首先关闭你的tomcat [从bin目录(sh shutdown.sh)]然后你必须删除tomcat webapps文件夹的所有内容(rm -fr *),然后将你的WAR文件重命名为ROOT.war,最后启动你的tomcat [来自bin目录(sh startup.sh)]

    Second Method:

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

    Note:

    最后一个方法还暗示,为了对任何应用程序进行任何更改,您必须停止并重新启动Tomcat .

    Third Method:

    将您的war文件放在CATALINA_BASE / webapps之外(它必须在外面以防止双重部署) . - 在CATALINA_BASE / conf //中放置一个名为ROOT.xml的上下文文件 . 此上下文文件中的单个元素必须具有指向war文件位置的docBase属性 . 不应设置path元素 - 它是从.xml文件的名称派生的,在本例中为ROOT.xml . 有关详细信息,请参阅上面的Context Container .

相关问题