如果这是一个糟糕的问题我很抱歉,但是我正在使用Windows,并且想要查看是否有办法通过Tomcat运行webapp,其中docBase
是多个文件夹。
更多背景是我们的Eclipse项目设置方式是将Web内容分解为单独的文件夹。一个文件夹代表我们的SDK提供的内容,一个是具有SDK补丁的文件夹,第三个是项目特定的组件 - 最后两个文件夹中的任何一个都可以包含从前两个“擦除”项目的子文件夹/文件。 / p>
我想尝试将我的上下文文件指向我的开发环境,这样我就不需要构建/部署以查看我正在进行的更改。这可能吗?
其他一些说明:
mklink
使用符号链接,但如果简单,那就不想创建复杂性。答案 0 :(得分:3)
我这样使用它:
<Context docBase="jquery" path="/js/jquery" />
<Context docBase="foobar/www/javascript" path="/js" />
<Context docBase="foobar/www/css" path="/css" />
<Context docBase="foobar" path="/" />
具体上下文的重要性是path-attribute。请求从上到下进行处理。
因此,/css/default.css
的请求仅从第3个上下文处理。
不同的订单可能会捕获不同的背景。
错误:
<Context docBase="foobar" path="/" />
<Context docBase="jquery" path="/js/jquery" />
<Context docBase="foobar/www/javascript" path="/js" />
<Context docBase="foobar/www/css" path="/css" />
因为/css/default.css
将被第一个上下文捕获,而不是第四个。
编辑2013-08-10: (不是答案作者)重要的是要注意虽然上述技术可行,但实际上大部分都是不正确。有关详细信息,请参阅注释。
答案 1 :(得分:3)
Tomcat可以为您完成此操作,您只需要一些额外的配置。
您正在寻找VirtualDirContext,它允许您指定extraResourcePaths
的列表,该列表将按顺序搜索(按顺序)其他文件。您可以使用它来合并静态资源,JSP,JAR文件的目录等。
请记住,您添加的每个路径都会使每个文件查找可能需要更长时间 - 特别是如果根本找不到该文件。