【问题标题】:Loading static resources from inside one-jar从 one-jar 中加载静态资源
【发布时间】:2013-01-16 17:35:02
【问题描述】:

我在码头服务器上托管了一个网页。该页面显示一些静态图像,图像目录保存在一个 jar 中,比如 application.jar。这个 application.jar 被打包在一个 jar 中。我在访问图像目录时遇到问题,因为它们位于另一个 jar 中的 jar 中。 我已经尝试了几乎所有获取图像目录 URL 的方法:class.getClassLoader().getResource()、Thread.currenctThread.getContextClassLoader().getResource()、ClassLoader.getSystemClassLoader().getResource() 等。无其中有任何帮助。我编写了所有这些语句,即尝试从 application.jar 中的类访问图像目录。这个 jar 也包含 images 目录。

如果有人曾经遇到过这个问题,请回复这个帖子。我也愿意接受任何其他可能有助于我实现目标的想法。

【问题讨论】:

  • 请展示您尝试过的内容以及 jar 文件的布局。
  • 使用 getResource() 您需要获取第二个 jar 的输入流,然后使用 JarInputStream 迭代 JarEntries。如果您可以控制包装,我不建议将 JAR 放入 JAR。

标签: java jar jetty


【解决方案1】:

你可以使用

InputStream input = getClass().getResourceAsStream("/classpath/to/my/file");

你可以在这里找到更多:

How to read a file from jar in Java?

How to access resources in JAR file?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    相关资源
    最近更新 更多