【问题标题】:How to change root directory in Tomcat如何在Tomcat中更改根目录
【发布时间】:2012-08-10 01:05:18
【问题描述】:

我的 webapps 目录中有一个名为 linkpointe 的 Web 应用程序。我想创建这个应用程序的两个实例,以便我可以运行不同的版本。但是,如果我将两个应用程序放在不同的目录中,它将不起作用 - 即

http://localhost:8080/firstApp/linkpointe
http://localhost:8080/secondApp/linkpointe

另外,如果我将名称更改为例如 linkpointe1 和 linkpointe2 之类的名称,它仍然无法正常工作。

根需要完全是链接点才能使应用程序正常工作 - 即在下面

//this works
http://localhost:8080/linkpointe

如何让应用程序的两个实例在我的 Tomcat 容器上运行?有人可以告诉我如何修改应用程序的默认根目录并可能添加更多内容,例如 linkpointe1 和 linkpointe2 吗?感谢你的帮助。

【问题讨论】:

  • 你真正要找的是this
  • 你想做什么?您是否试图让多个上下文根(即 URL)指向同一个 Web 应用程序?或者你想拥有某种集群?
  • 我有两个不同版本的相同应用程序。我想用一个特定的 URL 分别指向每一个。但是,似乎 Web 应用程序中内置了某种默认根目录,不允许您将应用程序放在 webapps 目录中的任何其他文件夹中。我想用不同的 URL 运行同一个应用程序的两个不同版本,彼此没有关系。 (因为显然我不能在 webapps 目录中有两个同名的应用程序)

标签: java tomcat servlets containers web.xml


【解决方案1】:

Tomcat 的 appBase 目录并不意味着其中包含不是 webapps 的子目录,所以你不能这样做

mkdir webapps/fitstApp
cp linkpoint.war webapps/firstApp/linkpoint.war
mkdir webapps/secondApp
cp linkpointe.war webapps/secondApp

相反,您需要有两个单独的部署。如果您需要两个必须命名为“linkpointe”的 Web 应用版本,那么您将需要有两个单独的虚拟主机(即两个单独的 <Host> 元素)。

幸运的是,每个虚拟主机都有自己的 appBase,因此您可以将 linkpointe.war 复制到这两者中,您应该已经准备好了。

【讨论】:

    【解决方案2】:

    创建两个war文件怎么样? (linkpointe1.war 和 linkpointe2.war) 将war文件复制到您的webapps目录并让tomcat部署。

    你应该在你的 webapps 目录下得到目录,例如

    webapps/linkpointe1
    webapps/linkpointe2
    

    那么你的网址将是

    http://localhost:8080/linkpointe1
    http://localhost:8080/linkpointe2
    

    如果由于应用程序内的依赖性而需要完全是链接点,那么两个虚拟主机应该按照@christopher 在他的回答中所说的那样工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-24
      • 2021-07-02
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 2023-01-13
      • 1970-01-01
      相关资源
      最近更新 更多