【问题标题】:How to prevent Eclipse from cleaning the bin folder for every build?如何防止 Eclipse 为每个构建清理 bin 文件夹?
【发布时间】:2011-09-15 00:35:55
【问题描述】:

我现在正在使用Eclipse做一个项目,并且我在bin文件夹中保存了一些资源文件(例如,图像,文本),这些文件是程序需要的。

但是,每次构建时,Eclipse 都会尝试清理文件夹,然后重新构建项目。清理时,它会删除文件夹中的资源文件。有没有办法阻止 Eclipse 这样做?

我知道我可以更改文件的位置,但我也很好奇 Eclipse 为什么会这样做,并且可以防止这种情况发生。

谢谢!

【问题讨论】:

  • 根据我的经验,当 Eclipse 清理 bin 文件夹时会出现混乱,因为您可能仍然会得到影子类并尖叫“天哪,为什么我的代码仍然引用我删了?”调试时

标签: java eclipse build .class-file


【解决方案1】:

转到Options -> Java-> Compiler -> Building 并取消选中Scrub output folders when cleaning projects

这对我有用。在我的项目中,我有一个 Ant 任务,它将一些配置资源添加到 bin 文件夹以将它们包含在类路径中,而不是将它们放在 src

【讨论】:

  • 这个答案对我有用。作为警告,可以在工作区(Window > Preferences)和项目(Project > Properties)级别配置清理。
  • 这并没有阻止我的 Eclipse (Oxygen.3a) 清除我的 target/generated-sources/protobuf/java
【解决方案2】:

我不能确切地说它为什么会这样做,但可能这就是 Eclipse 的构建方式:清空“输出文件夹”并开始编译。

也就是说,如果您将文件放入源文件夹,那么 Eclipse 会在每次构建时将文件简单地复制到 bin 并且它们不会消失。它将对它不知道如何编译的任何文件执行此操作,例如.xml.xsd.png

【讨论】:

  • 我发现Eclipse正在复制我的文件,但不是在具体的包文件夹下而是在bin文件夹下,导致路径出错。你能给我一些建议吗?谢谢!
  • 如果不使用 Maven,这是正确的解决方案。将您的文件与源代码放在同一目录中,Eclipse 应该为您每次构建将其放在 bin 目录中。
  • 值得注意的是,eclipse 从 src 复制到 bin 的哪些资源可以在 Project -> Properties -> Java Build Path -> Source ->(源文件夹名称)-> Included 和 Excluded 中配置。
  • @ziyao,你得到什么样的“路径错误”? Eclipse 会将源文件夹的确切目录结构复制到项目的输出文件夹中。正如@meriton 所说,您可能需要更改他们的位置。
【解决方案3】:

您可以考虑使用 maven 风格的项目并将资源添加到资源文件夹中。

这是link to maven directory layout

你在 eclipse 中使用什么样的项目。您可以在项目菜单中关闭自动构建功能。这将阻止 eclipse 自动清理项目。

【讨论】:

    【解决方案4】:

    将您的资源复制并粘贴到源文件夹中。在 Eclipse 中,在包资源管理器中,找到您的项目,然后粘贴到 src 中。然后它提供了一个选项来复制文件或链接到它。单击复制,它会存储在 /bin 中,但不会被删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      相关资源
      最近更新 更多