2010-07-15 91 views
8

我注意到“有时”我放入Eclipse项目的源文件夹中的资源不会立即被复制到输出文件夹(“bin”)。
例如我使用eclipse编辑器更改属性文件并保存...“bin”仍然有旧版本。Eclipse何时将资源复制到输出文件夹?

有谁知道究竟是什么触发复制(以及如何从插件触发)? 我以为它在资源发生变化时会自动发生。

- 编辑 -

为了澄清我的意思通过插件触发它:我有一个最新的资源输出文件夹依赖于一个插件,但显然资源是过时的,当我的插件叫做。这就是为什么我需要更好地了解会发生什么,以及当我需要时如何强制它。

回答

2

这是一个错误在几乎所有的Eclipse版本后,碰巧不需要任何理由。我的eclipse 3.5.2和3.6.2都在某一天遇到了这个问题。在我的情况下,我需要将修改后的.clj clojure源文件复制到类目录中,以便在Web应用程序中立即生效,现在,我必须在/ web应用服务器启动脚本的CLASSPATH中的/ classes之前设置/ src,它暂时解决了我的问题。

+2

由于没有人可以解释它,我将它作为“bug”提交。如果我们能够找到官方的eclipse bug报告,那会很棒。 – Stroboskop 2013-04-29 08:51:05

0

据我所知,它发生在您建立项目时。你不需要插件,只需要告诉eclipse来构建项目。

+1

您需要在项目菜单中选中“自动构建”,以便自行完成。如果你这样做了,但它仍然没有这样做,你可能需要将包含该文件的文件夹添加到构建路径中。你说输出文件夹包含'旧'版本的事实表明它在构建路径上,并在某处被复制。但是,如果您只是添加了它,并且没有“旧”版本,则可能需要刷新该项目以查看它是否已移至输出文件夹中 – 2010-07-15 11:31:02

+0

实际上并非如此。输出文件夹偶尔会更新。例如当我做一个干净的工作区或启动时。该文件位于同一位置,使用eclipse进行编辑,同一项目中的Java源代码将自动生成并复制。 – Stroboskop 2010-07-16 12:04:50

7

如果你不通过eclipse添加资源(例如通过Windows资源管理器),eclipse不会注意到一些变化,直到你刷新你的项目/文件夹。 (例如在packater资源管理器中右键单击)。

它注意到,将它复制到输出文件夹,当你建立的变化(通常是这是在变动自动完成)

+0

这是困扰我的“经常”部分,因为它在测试环境的构建阶段不会发生 – Stroboskop 2010-07-15 11:23:24

+0

如果您正在构建Eclipse插件,则可以从插件进行刷新。看看IProject界面。 – 2010-07-15 11:43:53

+0

@Stroboskop:对于Java项目,它是默认情况下在生成菜单中设置的一个设置。对于其他项目,它取决于项目类型和插件。 – Thirler 2010-07-15 18:31:24

0

正如@Thirler所说,如果您不通过Eclipse添加资源,它可能会在您刷新项目之前不会注意到这些文件。但是,如果刷新/清除不起作用(在我的情况下,它没有),您必须将文件添加到文件夹结构IN ECLIPSE。

只需使用Finder/Windows资源管理器将文件从文件夹中的文件夹拖放到Eclipse的Project Explorer中相同的文件夹中(Eclipse会要求覆盖,只是说是)和Voila!

编辑: 一个更简单的方法是使用Project Explorer导航到文件夹,然后刷新(F5)。

相关问题