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

时间:2012-04-02 01:02:24

标签: java eclipse project

我有一个带有两个源文件夹的项目设置。 Folder1是一组自动生成的java源文件,我不想触摸,Folder2是一个文件夹,其中包含一些这些文件的轻微编辑。

如果Folder2中有编辑过的文件,编译器要做的是忽略Folder1中的文件。

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

显然,我不想要的是从构建路径中手动排除Folder1中的所有重复项。我不一定要你修复我的设置,如果有一个更好的方法完全设置它,随意建议。请记住,无论发生什么,由于我无法解决的路径复杂性,所有源都需要在同一个bin文件夹中结束。如果可能的话,我也想清除构建脚本。

3 个答案:

答案 0 :(得分:1)

当我遇到这种问题时,我会使用SVN,我小心翼翼地创建一个新分支,并对其进行处理。

之后,您可以在此处迁移错综复杂的修补程序。

如果正如Dave Newton所说,你可以认为它是一个破碎的项目,这可能会帮助你保存它。

答案 1 :(得分:1)

符合您的要求:

...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位置隐藏文件。

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

要求Google向您展示“什么是overylay文件系统”和“什么是联合文件系统”以了解更多信息。

答案 2 :(得分:1)

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