【问题标题】:Java, Tomcat - Can you load a resource during run-time from the WEB-INF/lib directory?Java, Tomcat - 您可以在运行时从 WEB-INF/lib 目录加载资源吗?
【发布时间】: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 - 如果没有更多未解决的问题,您应该添加答案以完成此问题。

标签: java tomcat


【解决方案1】:

我从 cmets 了解到,答案是 Classloader.getResourceAsStream() 无法从 Tomcat 的 WEB-INF/lib 文件夹中读取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2016-02-06
    • 2011-02-04
    • 2018-03-18
    • 2016-05-01
    相关资源
    最近更新 更多