【发布时间】:2017-05-27 19:06:57
【问题描述】:
我在 Tomcat 8 上部署了一个 Java 项目。我没有使用任何框架。
如果在运行时,我运行类似:
this.getClass().getClassLoader().getResourceAsStream("xyz");
如果“xyz”是位于 WEB-INF/classes 目录中的文件,则此方法有效;但是,如果文件“xyz”位于 WEB-INF/lib 目录中,则上述行返回“null”。
有什么方法可以让我在运行时使用 'ClassLoader' 类的 'getResourceAsStream()' 方法读取 WEB-INF/lib 目录中的文件?
【问题讨论】:
-
答案是否定的。 WEB-INF/lib 不在类路径中。它应该包含在类路径中的 jar 文件。你为什么不把文件放在WEB-INF/classes下?
-
问题是您无法从 lib 文件夹访问文件,请将文件放在其他位置。替代解决方案是您必须输出文件的绝对路径。
-
感谢您的及时回答。我只是在确定。 (现在我对 Tomcat 的工作原理有了一些了解。)
-
@OmerHassan - 如果没有更多未解决的问题,您应该添加答案以完成此问题。