2

我正面临Tomcat双重部署的问题。我已经阅读了 Apache 站点上提供的上下文信息,好吧,可以说,它让我感到困惑。

环境

  1. 带有 5 个 web 应用程序的 Tomcat 6
  2. 每个 webapp 在其 META-INF 文件夹中都有一个 context.xml
  3. context.xml 存储数据库信息,这对于 web 应用程序的运行至关重要

要求
需要将 5 个 Web 应用中的一个设为默认 Web 应用。所以,而不是去http://localhost:8080/WebAppA它应该只使用http://localhost:8080

当前方法

  1. 在 tomcat/conf/server.xml 中创建一个上下文
  2. 将 WebAppA/META-INF/context.xml 文件的内容复制到在 tomcat/conf/server.xml 中创建的上下文中
<Context path="" docBase="/home/tomcat/webapps/WebAppA" debug="0" reloadable="true">
    <Resource name="jdbc/WebAppA" ... />
</Context>

当前方法的问题

  1. WebAppA 以及其他一些 webapps 似乎被部署了多次(两次)
  2. 在 tomcat/webapps 文件夹中创建一个名为 ROOT 的文件夹

我在互联网上浏览了一些建议的解决方案,但它们对我不起作用。

  1. 我无法重命名我的默认 webapp ROOT.war
  2. 我无法关闭任何 web 应用程序上的自动部署

对此的任何指示将不胜感激。

干杯,
罗希特什

4

1 回答 1

2

双重部署可能是由于在您的网络应用程序内部和您的战争内部定义了上下文。

过去,我以两种方式在根上下文中部署了战争:

(1) 只需将war解压(或解压)到webapps目录下名为ROOT的文件夹中即可。

(2) 在 conf/Catalina/host/context.xml 创建/编辑上下文文件

在这两种情况下,我都不在战争中包含上下文文件,也不在 server.xml 中包含它。希望有帮助。

于 2013-06-10T18:56:37.683 回答