【问题标题】:Tomcat web application changing deployment directoriesTomcat Web 应用程序更改部署目录
【发布时间】:2014-09-22 18:43:26
【问题描述】:

假设我有以下war文件:test1.war,test2.war,我想将它们都部署在tomcat服务器上

我想做的是将它们放在 localhost:8080/test1 上,用于 test1.war 和 localhost:8080/test2,用于 test2.war

只需将两个 war 文件移动到 webapps 目录中就可以轻松完成,但是,我需要像这样放置目录:

  • apache-tomcat-7.0.50
    • 网络应用
      • 测试1
        • WAR 文件
        • 已分解的文件
      • 测试2
        • WAR 文件
        • 已分解的文件

如您所见,我有特定的文件夹要求,因此仅将这两个 WAR 文件放入 webapps 文件夹是不可行的。

我也可以修改 server.xml,或者将 test.xml 和 test2.xml 添加到 tomcat/conf/Catalina/locahost 中,但是这样做可以将 WAR 文件放入正确的目录中,但我不能更改分解文件的位置。

第三种选择是在 server.xml 中使用多个主机。所以 test1 一台主机,test2 一台主机。但是,这意味着我必须为 localhost 使用两个端口,比如 localhost:8080 和 localhost:8081,这是不允许的。

那么,我应该这样做吗?总结一下,我想要那个文件夹结构:

  • apache-tomcat-7.0.50
    • 网络应用
      • 测试1
        • WAR 文件
        • 已分解的文件
      • 测试2
        • WAR 文件
        • 已分解的文件

要部署 test1.WAR 和 test2.WAR,它们必须使用相同的端口,例如它们必须同时使用 localhost:8080/test1 和 localhost:8080/test2,不能使用多个端口

【问题讨论】:

  • 为什么需要这样的文件夹结构?
  • 可以说我的主管喜欢这种文件夹结构
  • 什么???告诉你的主管,有时他不得不忍受失望:-)

标签: java tomcat web-applications web deployment


【解决方案1】:

保留默认的 tomcat 配置,并使用符号链接将文件和文件夹重新定位到您真正需要的位置。

例子:

你有那个“Webapps”文件夹 {somwehere}

  • Webapps(真实文件夹)
    • test1(真实文件夹)
      • WAR 文件(真实文件)
      • 已分解的文件(指向 tomcat/webapps/test1 的符号链接)
    • test2(真实文件夹)
      • WAR 文件(真实文件)
      • 已分解的文件(指向 tomcat/webapps/test2 的符号链接)

然后在tomcat下你会有:

  • tomcat(tomcat安装)
    • webapps(真正的tomcat webapps文件夹)
      • test1.war(指向 {somewhere}/Webapps/test1/test1.war 的符号链接)
      • test2.war(指向 {somewhere}/Webapps/test2/test2.war 的符号链接)

【讨论】:

  • 是的,但是,需要做的是tomcat安装文件夹中的第一个webapps目录结构,例如test1.WAR必须在tomcat->webapps->test1->test1.WAR中,并且test1展开的文件夹必须在tomcat->webapps->test1->test1,test2.WAR必须在tomcat->webapps->test2->test2.WAR等等
  • 使用我所描述的符号链接在这种情况下可以正常工作。您将在两个地方(tomcat 默认区域和您想要它们的位置)都有文件/链接。如果您还试图保持 webapps 文件夹本身清洁,它将工作。
【解决方案2】:

您可以创建两个主机并映射不同的 webapp 目录:

<Host appBase="webapps/test1" name="test1" unpackWARs="true" ...>
<Host appBase="webapps/test2" name="test2" unpackWARs="true" ...>

【讨论】:

    猜你喜欢
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2019-09-03
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多