【问题标题】:Deploy .war file from another directory to Tomcat 6将 .war 文件从另一个目录部署到 Tomcat 6
【发布时间】:2014-05-13 05:45:06
【问题描述】:

如果可能的话,我如何从另一个目录(比如 D:\foo.war)部署一个 war 文件到 Tomcat 6,而不将它复制到 Tomcat 的 webapps 目录中?

如果没有,是否有任何配置可以将默认 webapp 文件夹更改为其他文件夹?

【问题讨论】:

    标签: deployment tomcat6 war


    【解决方案1】:

    两者都可以。

    我如何从另一个目录(比如 D:\foo.war)将一个 war 文件部署到 Tomcat 6,而不将它复制到 Tomcat 的 webapps 目录中?

    将 Context xml 文件添加到 conf/Catalina/localhost。文件的名称应该是您想要的上下文名称。例如,如果我的 URL 是 http://your.domain.com/my-context,那么文件的名称就是 my-context.xml。在该 XML 文件中添加类似这样的内容。

    <?xml version="1.0"?>
    <Context docBase="d:\foo.war">
    </Context>
    

    docBase 属性应该指向您的 WAR 文件或展开的 WAR 目录。请参阅此here 的更多信息。

    如果没有,是否有任何配置可以将默认 webapp 文件夹更改为其他文件夹?

    在 conf/server.xml 中找到您的 Host 标记并设置 appBase attribute。这默认为 webapps,但您可以将其更改为您喜欢的任何位置。

    例如:

    <Host appBase="d:\my-web-apps" ...>
    

    为获得最佳效果,请指向本地存储而不是网络存储(即 NFS 或 Samba)。

    【讨论】:

    • 我回滚了更改,因为它不正确。澄清一下,“添加上下文 xml 文件”是指包含 标记的 XML 文件,而不是名为“Context.xml”的特定文件。正如说明继续说明的那样,文件的名称应该与上下文的名称匹配。例如,如果您的应用程序上下文名称是“/junk”,您可以将“junk.xml”添加到上述目录中。
    【解决方案2】:

    只需在 server.xml 中指定一个上下文条目(在 &lt;Host&gt; &lt;/Host&gt; 下

    <Context docBase="xyz/abc.war" path="/myapp" reloadable="true"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 2016-08-23
      • 2018-07-25
      • 1970-01-01
      相关资源
      最近更新 更多