我的问题是您认为很常见的问题,但到目前为止我还没有找到解决方案。
在 Tomcat 5.5 下构建 Java Web 应用程序(尽管要求它可以部署在任何地方,例如在 WebLogic 环境下,因此需要将资源作为流加载)。良好的做法要求将资源文件放在WEB-INF/classes下并使用 ClassLoader 的getResourceAsStream()方法加载。当您知道要加载的资源的名称时,一切都很好。
我的问题是我需要加载位于classes的子目录中的所有内容(包括递归地在非空子目录中)。
因此,例如,如果我在WEB-INF/classes下有以下内容:
文件夹X/文件夹Y
文件夹X/文件夹Y/fileA.properties
文件夹X/fileB.properties
我需要加载fileA.properties 和fileB.properties 类,但在启动应用程序之前实际上并不知道它们的名称(即我需要能够从WEB-INF/classes 下的任何目录中任意加载资源)。
最优雅的方法是什么?我可以查询什么对象来找到我需要的信息(每个所需资源的资源路径)?最好使用非 servlet 特定的解决方案(如果可能,将其全部保存在类加载框架中)。
提前致谢!