在开发中,我使用 jetty 作为 servlet 容器。我有以下开发配置:
- 具有 wabapp 目录的主项目
- 覆盖 webapp 目录中一些文件的派生项目
由于提供了合适WebAppContext
的jetty,主项目webapp可以在开发模式下启动。
现在我想类似地启动派生项目,假设在提出请求时,尝试:
- 从派生项目的 webapp 目录获取资源
- 如果不存在,则从主项目的 webapp 目录中获取
我知道可以覆盖WebAppContext#getResource()
方法,但是我们在项目中使用的一些库似乎自己对 wabapp 目录执行 IO 操作。例如通过调用ServletContext#getRealPath("/")
, 然后在不使用ServletContext#getResource()
方法的情况下读取文件。这个问题可以通过一些虚拟文件系统在较低级别上解决File
,但是 JDK 1.6 似乎不支持它,有什么建议吗?