【问题标题】:Eclipse export file jar doesn't contain folderEclipse 导出文件 jar 不包含文件夹
【发布时间】:2014-10-20 23:57:31
【问题描述】:

我用 eclipse 创建了一个可运行的 jar。在我的项目中,我有一个名为问卷调查的文件夹,其中包含我使用的一些文本文件。当我运行我的可运行 jar 时,它不起作用,除非我与 jar 文件夹调查表位于同一文件夹中。我尝试了一些我在stackoverflow中阅读的解决方案,例如将文件夹问卷添加为源文件夹以及属性-> java构建路径->库->添加类文件夹并添加问卷文件夹,但仍然不起作用。

这是代码:

 File srcFolder = new File(".\\questionnaire");
 if(!srcFolder.exists()){

   System.out.println("Directory does not exist.");
   //just exit
   System.exit(0);

}

每次我收到消息“目录不存在”。此外,当我解压缩 jar 时,没有文件夹调查问卷

【问题讨论】:

  • 将文件夹设置为源文件夹是朝着正确方向迈出的一步。当你从 Eclipse 中执行程序时,它可以工作吗?
  • 是的,当我从 Eclipse 执行它时它可以工作。所以我认为 jar 不包含文件夹,这就是问题
  • Eclipse 默认将二进制文件打包到 bin 文件夹中,并将 jar 清单中的类路径设置为该 bin 文件夹。在构建配置中将/ 添加到您的类路径中。
  • 你也可以解压jar来查看问卷文件夹是否导出。

标签: java eclipse jar directory runnable


【解决方案1】:

在 jar 中导出文件夹不是一个好主意。此外,如果您以某种方式导出它们,您将无法访问文件夹的文件。您再次需要使用 JarFile 类来读取文件夹的内容。

您可以做的一件事是创建没有文件夹的 jar。 使用这条线

File srcFolder = new File("questionnaire");

当您运行 jar 时,请确保 jar 和问卷文件夹位于同一目录中。这将有效地工作。

阅读此thread

【讨论】:

    【解决方案2】:

    要将“questionnaire”文件夹添加到您的jar中,您需要将“questionnaire”的父目录设置为源文件夹。

    然后,您的罐子里会有一个问卷“文件夹”。但是,您将无法通过 File API 访问它,因为它不是常规文件夹,而是您 jar 中的一个条目。如果您只需要从该文件夹中读取文件,请查看Class.getRessourceAsStream(String) 方法。

    【讨论】:

      猜你喜欢
      • 2017-07-31
      • 2015-07-03
      • 2015-02-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 2012-03-10
      • 2021-10-19
      相关资源
      最近更新 更多