代码之家  ›  专栏  ›  技术社区  ›  gMale

如何排除在Eclipse项目中产生警告/错误的文件夹?

  •  58
  • gMale  · 技术社区  · 15 年前

    可以。我讨厌这个问题。这个 不得不 有一个简单的解决办法,我相信!!我希望这样可以帮助我一劳永逸地摆脱这一切!

    问题

    我们如何让Eclipse停止尝试 处理/编译 特定项目目录?这个 目标是没有错误/警告 存在于问题视图中 与此文件夹或其子文件夹中的某个内容相关。

    背景

    我们运行Eclipse3.6,M2Eclipse插件v0.10.2.20100623管理我们的自动构建。出于我无法控制的原因,我们在SVN项目目录中有整个Blazeds分布 src/main/resources/blazeds . 本质上,这个目录包含运行Blazeds的Tomcat的普通发行版,当我们通过SCP部署到服务器时,所有配置和项目文件都会添加到这个目录中。

    所以,当我们运行deploy时,这个版本的Tomcat被复制到服务器上,我们的项目被放在里面。Tomcat和我们的RIA应用程序工作正常。

    问题是,Eclipse试图编译 SRC/MAIN/resources/blazeds公司 当运行autobuild时,这会在我们的问题视图中生成大约300个错误/警告。所以当一个真正的错误出现时,它就会在噪声中消失。

    这些错误源于 /blazeds/tomcat/webapps/samples/testdrive-datapush 以及 testdrive-httpservice , traderdesktop 示例webapps。它们具有不在类路径上的依赖源代码和不包含在库中的JAR。

    尝试的解决方案失败

    我正试图推出正确的解决方案:完全删除样本,同时让Blazeds脱离我们的版本控制。这不会很快发生。

    我已经跟踪了 SO answer here 但这只是一个非常暂时的解决办法。我尝试在我能想到的任何地方添加排除项,我的团队的其他成员也做了同样的事情。我已经搬走了 src/main/resources 作为源目录(在首选项& gt;javaBudio Posie≫Source Tab)中,我添加了排除项。 blazeds 在资源目录下。我已经试过了 火焰 ** 如在 *blazeds* , **/blazeds/** 等。

    我甚至尝试将编译器抱怨的库和源文件包括在内,但如果不过度地破坏我们的项目配置,我就无法使其正确。

    总结

    这必须很简单。什么是 排除文件夹的常规方法 在中产生警告/错误 Eclipse项目?


    更新1:
    Gedim下面的解决方案很不错,但是
    1)不清除项目中的红色X
    2)是我们团队中每个人都需要做的手动更改吗?
    (即,它不在项目属性文件中;因此,它不会签入Subversion)

    我希望有一种方法可以通过告诉Eclipse这个目录不包含
    要编译/验证的项。这样的更改很可能出现在项目设置文件中。


    更新2:

    下面的图片显示了我试图清除的红色x
    Build Path > Exclude
    不是一个选择…

    Red X's won't go away

    8 回复  |  直到 15 年前
        1
  •  29
  •   Giorgos Dimtsas    15 年前

    您可以使用 Configure Contents... 在菜单上 Problems 面板。在这里,您可以创建一个新的配置并将作用域设置为 On Working Set: 。点击 Select... 并创建一个新的工作集,排除不需要的文件夹。

        2
  •  56
  •   TIER 0011    13 年前

    我遇到了一个类似的问题,通过将文件夹移到我的项目文件夹中解决了它。然后我去了:

    1. 项目属性添加…
    2. 集合 筛选器类型=全部排除 .
    3. 集合 应用于=文件夹 .
    4. 集合 文件和文件夹属性名称,匹配项,<您的文件夹名称>
        3
  •  7
  •   Rhett Hudson    14 年前

    有一个Eclipse功能请求 ignoring warnings from specified source folders. 已经有几个补丁发布到注释线程,提供了该特性的实现。最后一个补丁似乎即将进入审查阶段,将被包含在即将发布的版本中。

    更新日期:2012年6月19日 :eclipse juno 4.2m6支持忽略特定源文件夹的问题。该特性在Java构建路径对话框中可用。查看 release note .

        4
  •  4
  •   nanda    15 年前

    如果确实要从自动生成中排除某些类/包,只需右键单击它们并选择生成路径->排除

    alt text

        5
  •  0
  •   soru    15 年前

    配置您的项目(Projt/Projt/Projts/Java构建路径/源),而不是具有排除的顶级SRC文件夹,只列出要编译的文件夹的列表。

    假设Eclipse Helios,一步一步:

    • 关闭自动生成(项目/生成) 自动)。
    • 从空的开始。
    • 右键单击删除错误 就像在链接中一样(只是为了确定)。
    • 按1添加正版源文件夹 (Projt/Projt/Projave/Java构建) 路径/源/添加文件夹)
    • 执行显式生成(项目/生成项目)。

    如果可以的话,你应该能够重新打开自动建筑。如果没有,就会发生一些奇怪的事情。也许这个项目不是使用标准的Java构建器,而是像一个Ant构建器(Project / Projtual/Builder)。

        6
  •  0
  •   Sowmya Rao    9 年前

    转到Java构建路径-& gt;源代码-gt;添加文件夹

    选择需要作为生成路径一部分的正确文件夹

    在上面的屏幕截图中,需要从构建中删除src/main/resources,因为它会导致编译错误[错误的包ID]。因此,请将文件夹包含到src/main/resources。

    我确实尝试了生成路径->排除。这实际上并不能解决问题。也就是说,虽然从Eclipse中清除了RedX mark,但它将不再是正确的Java项目。即,用户可能无法运行JUnit测试用例/调试等。

    但是通过包含正确的文件夹,我们可以继续使用Java项目。

        7
  •  -1
  •   Aaron Digulla    15 年前

    由于资源文件夹中的文件很少更改,我建议将它们放入第二个项目(在该项目中可以设置不同的警告选项),然后通过相对路径(如 ${basedir}/../special-tomcat )

        8
  •  -1
  •   Javi    12 年前

    最好的方法是在Java构建路径中使用包含和排除模式选项。
    例如,如果要排除一个自动生成的项目:
    1 -转到它的属性-gt;Java构建路径-gt;源代码。
    2-展开“生成路径上的源文件夹:”区域中的文件夹
    3-选择排除-编辑
    4-在排除模式中添加**
    注意:有关此模式的详细信息: Include and Exclusion Patterns