【发布时间】:2014-05-13 05:45:06
【问题描述】:
如果可能的话,我如何从另一个目录(比如 D:\foo.war)部署一个 war 文件到 Tomcat 6,而不将它复制到 Tomcat 的 webapps 目录中?
如果没有,是否有任何配置可以将默认 webapp 文件夹更改为其他文件夹?
【问题讨论】:
标签: deployment tomcat6 war
如果可能的话,我如何从另一个目录(比如 D:\foo.war)部署一个 war 文件到 Tomcat 6,而不将它复制到 Tomcat 的 webapps 目录中?
如果没有,是否有任何配置可以将默认 webapp 文件夹更改为其他文件夹?
【问题讨论】:
标签: deployment tomcat6 war
两者都可以。
我如何从另一个目录(比如 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)。
【讨论】:
只需在 server.xml 中指定一个上下文条目(在 <Host> </Host> 下
<Context docBase="xyz/abc.war" path="/myapp" reloadable="true"/>
【讨论】: