2011-06-14 104 views
4

我现在在做一个使用Eclipse的项目,并且我有一些资源文件(例如图像,文本)保存在bin文件夹中,并且这些文件是程序所需要的。如何防止Eclipse为每个构建清理bin文件夹?

但是,每次构建时,Eclipse都会尝试清理文件夹,然后重新构建项目。清洁时,会删除文件夹中的资源文件。无论如何阻止Eclipse这样做?

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

谢谢!

+1

根据我的经验,当Eclipse **不会清理bin文件夹,你仍然可以获得影子类和尖叫“OMG为什么我的代码仍然引用我删除的东西?”当调试 – 2017-04-19 10:45:35

回答

3

我不能说它为什么这么做,但可能这就是Eclipse如何构建:清空“输出文件夹”并开始编译。这就是说,如果你把你的文件放到一个源文件夹中,那么Eclipse就会简单地将这些文件复制到每一个版本上的bin,并且它们不会消失。它会对任何不知道如何编译的文件执行此操作,例如.xml, .xsd,.png

+0

我发现Eclipse正在复制我的文件,但不是在特定的包文件夹下,而是在bin文件夹下,导致路径中出现错误。你能给我一些建议吗?谢谢! – 2011-06-14 20:34:24

+1

如果不使用Maven,这是正确的解决方案。将您的文件放在与您的源代码相同的目录中,并且Eclipse应该将其放入bin目录中,以便为您构建每个版本。 – 2011-06-14 20:35:17

+1

值得注意的是,从项目 - >属性 - > Java构建路径 - >源代码 - >(源文件夹的名称) - >包含和排除,可以配置从src到bin的副本的eclipse副本。 – meriton 2011-06-14 20:53:21

3

您可以考虑使用maven样式项目并将资源添加到资源文件夹。

这里是一个link to maven directory layout

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

+0

+1 - Maven FTW! – 2011-06-14 20:37:19

0

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

7

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

这对我来说诀窍。在我的项目中,我有一个Ant任务,它为bin文件夹添加了一些配置资源,以将它们包含在类路径中,而不会让它们在src

+0

这个答案适合我。作为一个警告词,可以在工作空间(在Window'>'Preferences'下)和项目(在'Project'>'Properties')级别配置清理。 – studro 2017-04-19 04:42:28

相关问题