如何阻止 Apache Tomcat 要求文件系统上存在上下文路径?

如何阻止 Apache Tomcat 要求文件系统上存在上下文路径?

我正在尝试部署 IIS + Tomcat,但情况很乱。公司在 IIS 中设置了大量虚拟机,由于数量太多,而且有些虚拟机包含 JSP,因此我们需要 Tomcat 来运行所有这些虚拟机。

我尝试按如下方式设置主机/上下文:

<Host name="localhost" unpackWARs="true" autoDeploy="false" appBase="e:\webdata\Inetpub\wwwroot\">
    <Context path="/aboriginal"  docbase="static\business\Abo"   crossContext="true" />
    <Context path="/ecc"  docbase="static\countries\Canada\ECC"   crossContext="true" />

问题是,当 tomcat 加载时,它会查找“e:\webdata\inetpub\wwwroot”是否存在。

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base e:\webdata\Inetpub\wwwroot\ecc does not exist or is not a readable directory

当然它不存在!静态/业务/Abo存在!

我读到的所有内容都让我相信“上下文”是 Tomcat 版本的虚拟文件夹。为什么虚拟文件夹必须在创建之前就存在?

就是这样吗?我这里缺少什么?

我编写了一个 IronPython 脚本来从 IIS 中提取虚拟机并创建适当的 IIS 配置。我不希望创建一系列空文件和文件夹来复制此配置。

非常感谢您的帮助!

答案1

JoseK 是对的。

请参阅此处的 docbase 属性:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Common_Attributes

因此你应该

<Context path="/ecc" docbase="e:\webdata\Inetpub\wwwroot\static\countries\Canada\ECC" crossContext="true" />

相关内容