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

Man*_*ani 13 tomcat web-applications war tomcat7

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

将abc.war重命名为ROOT.war

要么

在$ {tomcat.home}/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中添加上下文.

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

谢谢.

The*_*bit 19

详细的方法

第一种方法:

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

第二种方法:

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

注意:

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

第三种方法:

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