【问题标题】:Exporting resource folder with jar使用 jar 导出资源文件夹
【发布时间】:2013-04-28 09:14:33
【问题描述】:

我的 Eclipse 项目中有一个名为“resources”的文件夹。它用作源文件夹。一切都从 Eclipse 编译得很好。我想在 Ubuntu 上尝试它,所以我将它导出到可运行的 jar 并尝试运行,但它给了我 FileNotFound Exception。我检查了 JAR 中的文件结构,没有“资源”文件夹,只有应该在里面的文件。我正在使用

访问文件
File file = new File("resources/hotkeys.ini");

我也试过了

InputStream in = getClass().getClassLoader().getResourceAsStream("/resources/hotkeys.ini");

但它给了我null。

如何强制 Eclipse 将文件夹连同 jar 一起导出?

【问题讨论】:

    标签: java jar


    【解决方案1】:

    当您使用“导出”功能时,您需要选择所有需要导出的资源(在 Eclipse 导出向导窗口的顶部可见)。

    您也可以在这里找到答案:Java: export to an .jar file in eclipse

    【讨论】:

      【解决方案2】:

      可以用7zip或者Winzip打开jar,查看路径。

      试试

      getClass().getResourceAsStream("/resources/hotkeys.ini");
      

      (或者在使用getClassLoader() 时尝试删除第一个/。)

      特别是检查路径的大小写敏感性。与 Windows 不同,在 Jar 中它是区分大小写的。

      【讨论】:

      • 解压后没有“resources”文件夹,只有.inis。您的代码也没有什么新功能。
      • getResourceAsStream("/hotkeys.ini")?
      • 所以hotkeys.ini在jar的顶层目录,拼写不是Hotkeys.INI而是都是小写字母?
      • 是的,它是“hotkeys.ini”,没有大写字母。
      • 我想我会使用 file = new File(System.getProperty("user.dir")+"/hotkeys.ini"); 并将 .inis 放在 JAR 之外。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 2017-04-11
      • 1970-01-01
      • 2011-12-18
      • 2020-05-27
      • 1970-01-01
      相关资源
      最近更新 更多