Eclipse - 从其他源文件夹覆盖自动生成的源

问题描述:

我有一个项目设置与两个源文件夹。 Folder1是我不想触摸的一组自动生成的java源文件,Folder2是一个对这些文件中的某些文件进行轻微编辑的文件夹。Eclipse - 从其他源文件夹覆盖自动生成的源

我希望编译器做的就是无视Folder1中的文件,如果有一个在文件夹2的编辑的文件是什么。

我试图找出如何关闭的“X型已经被定义为”在Eclipse中的错误,但在在设置错误/警告我不能找到它。我假设关闭这个错误,并正确设置顺序将使编译器使用这两个正确的文件。

显然,我不想要的是从手动构建路径中排除Folder1中的所有重复项。我不一定希望你能够解决我的问题,如果有更好的方法来设置它,请随时提出建议。请记住,无论发生什么,由于路径的复杂性,我无法解决所有源需要在同一个bin文件夹中。如果可能的话,我也想尽量避免构建脚本。

+0

您可以选择一个特定的文件并将其从构建中排除。 – 2012-04-02 01:03:43

+0

是的,这就是我所说的“我不想用手排除每个文件” – 2012-04-02 01:04:46

+0

啊。我错过了。我的坏 – 2012-04-02 01:05:25

您可以创建两个项目: prj1只有Folder1和 prj2只有Folder2。 prj1被列为prj2上的必需项目。这样Folder2中的资源将覆盖Folder1中的资源。

当这种问题发生在我,我使用SVN,我小心翼翼地创建一个新的分支,并在其上工作。

之后,您需要在此处迁移复杂的路径。

如果戴维牛顿说,你可以认为它是一个破碎的项目,这可以帮助你保存它。

+0

这里的主要问题是,每个版本的应用程序自动生成并重新生成“Folder1”的东西。我可以看到SVN设置是如何工作甚至是考虑的,但是通过生成的源代码来更改每个发行版,这基本上意味着所有涉及的文件都必须针对每个发行版进行承诺,从而使其成为破坏版本控制系统,这只是一个破碎项目的一小步。虽然 – 2012-04-02 16:39:48

+0

没有问题,但确实在相关项目中,但在每个重新生成的Folder1之后,您可以*将它合并到您的分支中。 HTH – 2012-04-03 06:59:36

为了您的要求:

...ignore files from Folder1 if there is an edited file in Folder2... 

你需要一个覆盖/联合文件系统,其中有

a RO mount that contains your original file set 
a RW mount that initially contains nothing 
an overlay/union mount for use by an application 

当一个应用程序更新文件时,文件系统将文件保存到RW位置。一旦RW位置中存在相同名称的文件,文件系统就会将文件隐藏在RO位置。

这个概念起初听起来很奇怪。

向谷歌向您展示“什么是overylay文件系统”和“什么是工会的文件系统”,以了解更多信息。

+0

当然,这正是我在Eclipse里想要做的。你的想法很有趣,但并不真正用于代码项目,因为它不适用于版本控制。你描述的功能是我想要在Eclipse中实现的功能。 – 2012-04-02 16:47:49