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

好的。 我厌倦了这个问题。 这必须有一个简单的修复,我敢肯定! 我希望SO能够帮助我彻底摆脱这一切!

我们如何让Eclipse停止在特定项目目录下处理/编译所有文件? 目标是在问题视图中不存在任何错误/警告,如果它们涉及此文件夹中的某些内容或其子文件夹。

背景

我们运行Eclipse 3.6,m2eclipse插件v0.10.2.20100623pipe理我们的自动创build。 由于我无法控制的原因,我们在src/main/resources/blazeds下的SVN项目目录中有整个BlazeDS发行版。 本质上,这个目录包含一个tomcat运行blazer的vanilla发行版,当我们通过SCP部署到我们的服务器时,我们所有的configuration和项目文件都被添加到这个目录中。

所以,当我们运行部署时,这个版本的tomcat被复制到服务器,我们的项目被放置在里面。 Tomcat和我们的RIA应用程序工作,一切都很好。

问题是,当运行AutoBuild时,Eclipse会尝试编译src/main/resources/blazeds下的所有东西,这会在我们的问题视图中产生大约300个错误/警告。 所以当一个真正的错误表面,它会在噪音中迷失。

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

失败的尝试解决scheme

我试图推出适当的解决scheme:完全删除样本,也是为了摆脱我们的版本控制。 这不会很快发生。

我已经按照这里的答案,但这只是一个非常临时的解决scheme。 我试过在所有我能想到的地方添加排除项目,我的团队中的其他成员也做了同样的事情。 我已经删除src/main/resources作为源目录(在首选项> Java构buildpath>源选项卡)我已经在资源目录下blazeds添加排除。 我已经尝试了blazeds**所有排列,如*blazeds***/blazeds/**

我甚至尝试过包括编译器所抱怨的库和源文件,但是如果没有过分地改变我们的项目configuration,我就不能正确地做到这一点。

概要

这一定很简单。 在eclipse项目中排除产生警告/错误的文件夹的传统方法是什么?


更新#1:
下面gedim的解决scheme是体面的,但它
1)不清除项目中的红色X.
2)是我们团队中每个人都需要手动完成的改变
(即,它不在项目属性文件中;因此,它不会被检入到Subversion中)

我希望有一种方法可以通过告诉Eclipse这个目录不包含核心问题
项目来编译/validation。 这样的改变可能会出现在其中一个项目设置文件中。


更新#2:

下面的图片显示了我想清除的红色X
Build Path > Exclude
不是一个选项…

红X不会消失

您可以使用“ Problems面板菜单上的“ Configure Contents... ”。 在那里你可以创build一个新的configuration,并将范围设置为On Working Set: 点击Select...并创build一个新的工作集,排除不需要的文件夹。

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

  1. 项目>属性>资源>资源filter>添加…
  2. 设置filtertypes=全部排除
  3. 设置适用于=文件夹
  4. 设置文件和文件夹属性= {名称,匹配,<your_folder_name>}

有一个Eclipsefunction请求忽略来自指定源文件夹的警告。 在注释线程中发布了多个补丁,提供该function的实现。 看来最终的补丁已经接近了即将发布的版本的审查阶段。

2012年6月19日更新 :Eclipse Juno 4.2M6支持忽略特定源文件夹的问题。 该function在Java Build Path对话框中可用。 请参阅发行说明 。

如果你真的想从autobuild中排除某些类/包,你可以右键单击它们并selectBuild Path – > Exclude

替代文字

configuration您的项目(项目/属性/ Java构buildpath/源),而不是顶级src文件夹排除,只是你想编译的文件夹列表。

假设Eclipse Helios,一步一步:

  • closures自动构build(Project / Build Automatically)。
  • 开始它是空的。
  • 通过右键单击链接来删除错误(只是为了确保)。
  • 添加真正的源文件夹1(项目/属性/ Java构buildpath/源/添加文件夹)
  • 做一个明确的构build(项目/生成项目)。

如果这样做,你应该能够重新打开自动构build。 如果不是这样,一些奇怪的事情正在发生。 也许这个项目不是使用标准的Java Builder,而是像Ant Builder(Project / Properties / Builders)。

转到Java构buildpath – >源 – >添加文件夹

select需要成为构buildpath的一部分的正确的文件夹

在上面的屏幕截图src /主要/资源需要从生成中删除,因为它导致编译错误[错误的软件包ID]。 因此,包括文件夹,直到src / main / resources。

我没有尝试build立path – >排除。 这实际上并没有解决问题。 即虽然从Eclipse中清除了RedX标记,但它不会是正确的Java项目。 即用户可能无法运行JUnittesting用例/debugging等

但通过包括正确的文件夹,我们可以继续作为Java项目。

由于资源文件夹中的文件很less发生变化,我build议把它们放到第二个项目(可以设置不同的警告选项),然后通过相对path访问它(如${basedir}/../special-tomcat ) 。

最好的方法是使用Java Build Path中的“包含和排除模式”选项。
例如,如果你想排除一个项目被自动构build:
1-转到它的Properties-> Java Build Path-> Source。
2-在“构buildpath:”区域的“源文件夹”中展开文件夹
3-select排除 – >编辑
4-在排除模式中添加**
注意:有关此模式的更多信息: 包含和排除模式