【问题标题】:JAR ignores files inside itJAR 忽略其中的文件
【发布时间】:2014-04-28 15:23:16
【问题描述】:

我有一个程序要保存为 JAR,因此我使用 eclipse 来处理它。当我将它作为存档打开时,我可以清楚地看到我的文本文件,但是当我尝试从终端运行 JAR 时,它会抛出一个找不到文件的异常。我在这里遗漏了什么明显的东西吗?

【问题讨论】:

  • 我们将需要查看您的一些代码以帮助您为您调试它,以及堆栈跟踪和与之相关的代码行,尽管我认为这是一个案例相对地址与绝对地址。

标签: java jar filenotfoundexception


【解决方案1】:

要访问 JAR 中的文件,您需要使用 Class.getResourceClass.getResourceAsStream 方法,因为它们对正常的文件操作不可见。

请注意,这些不是静态方法(我以为它们是,哎呀),所以您可能需要类似...

InputStream in = this.getClass().getResourceAsStream("path/to/textfile");

请注意,Web 应用程序在 ServletContext 类中拥有自己的这些方法版本。

【讨论】:

  • +1 因为很可能是这种情况,但鉴于我们在问题中提供的信息很少,我不禁觉得这有点逻辑上的飞跃。
  • 更新了我的答案,因为我很笨,忘记了这些方法不是静态的。
  • 你也可以使用YourClassName.class.getResource();
  • @Rudi True,我考虑过这样做,但我不确定它在抽象类中的效果如何。
猜你喜欢
  • 2018-02-01
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多