How to exclude a folder that is producing warnings/errors in an Eclipse project?

EclipseIdeBuild ProcessM2eclipse

Eclipse Problem Overview


Okay. I'm sick of this problem. This has to have an easy fix, I'm sure of it!! I hope SO can help me to get rid of this once and for all!

> Question > > How do we get Eclipse to stop trying > to process/compile all files under a > particular project directory? The > goal is for no errors/warnings to > exist in the problems view if they > relate to something in this folder or it's subfolders.

Background

We run Eclipse 3.6 and the m2eclipse plugin v0.10.2.20100623 manages our autobuild. For reasons beyond my control, we have the entire BlazeDS distribution in our SVN project directory under src/main/resources/blazeds. Essentially, this directory contains a vanilla distribution of tomcat running blazeds to which all our configuration and project files are added when we deploy to our server via SCP.

So, when we run deploy, this version of tomcat is copied to the server and our project is placed inside. Tomcat and our RIA application work and everything is fine.

The problem is, Eclipse tries to compile everything under src/main/resources/blazeds when running AutoBuild and this generates about 300 errors/warnings in our problem view. So when a real error surfaces, it gets lost among the noise.

The errors stem from code in /blazeds/tomcat/webapps/samples/testdrive-datapush and also the testdrive-httpservice, traderdesktop example webapps. They have dependent source code that's not on the classpath and jars that aren't included in the libraries.

Failed Attempted Solutions

I'm trying to push the proper solution: to remove the samples completely and also to get blazeds out of our version control. That's not happening anytime soon.

I've followed the SO answer here but it's only a very temporary solution. I've tried adding exclusions everywhere I can think of and other members of my team have done the same. I've removed src/main/resources as a source directory (in preferences > Java Build Path > Source Tab) I've added exclusions for blazeds under the resource directory. I've tried every permutation of blazeds and ** as in *blazeds*, **/blazeds/**, etc.

I've even tried including the libraries and source files the compiler is complaining about but I couldn't get it right without excessively mangling our project configuration.

> Summary > > This has to be simple. What is the > conventional way to exclude a folder > that is producing warnings/errors in > an eclipse project? > >


> Update #1:
> gedim's solution below is decent but it
> 1) doesn't clear red X's from the project
> 2) is a change everyone on our team needs to do, manually
(i.e., it's not in a project property file; thereby, it isn't checked into subversion)
>
> I hope there's a way to address the core problem by telling Eclipse that this directory doesn't contain
> items to compile/validate. Such a change would likely show up in one of the project setting files. >


Update #2:

The picture below shows the red X's I'm trying to clear and that
Build Path > Exclude
isn't an option...

Red X's won't go away

Eclipse Solutions


Solution 1 - Eclipse

I encountered a similar problem and resolved it by moving the folder into my project folder. I then went to:

  1. Project > Properties > Resource > Resource Filters > Add...
  2. Set Filter type = Exclude all.
  3. Set Applies to = Folders.
  4. Set File and Folder Attributes = { Name, matches, < your_folder_name > }

Solution 2 - Eclipse

You can use the Configure Contents... on the menu of Problems panel. There you can create a new configuration and set the scope to On Working Set:. Click on Select... and create a new working set that excludes the folders you don't want.

Solution 3 - Eclipse

There is an Eclipse feature request for ignoring warnings from specified source folders. There have been several patches posted to the comment thread that provide implementations of the feature. It appears that a final patch is nearing the review stage for inclusion in an upcoming release.

Update 6/19/2012: Eclipse Juno 4.2M6 supports ignoring problems for a particular source folder. The feature is available on the Java Build Path dialog. See the release note.

Solution 4 - Eclipse

If you really want to exclude certain classes/packages from autobuild you can just right click on them and select Build Path -> Exclude

alt text

Solution 5 - Eclipse

Configure your project (Project/Properties/Java Build Path/Source) to have, instead of the top level src folder with exclusions, just a list of the folders you do want to compile.

Assuming Eclipse Helios, step by step:

  • Turn off autobuild (Project/Build Automatically).
  • Start with it empty.
  • Delete the errors by right clicking as in the link (just to be sure).
  • Add genuine source folders 1 by 1 (Project/Properties/Java Build Path/Source/Add Folder)
  • Do an explicit build (Project/Build Project).

If that works, you should be able to turn autobuild back on. If it doesn't, something strange is going on. Perhaps the project is not using the standard Java Builder, but something like an Ant Builder (Project/Properties/Builders).

Solution 6 - Eclipse

Go to Java Build Path -> Source -> Add Folder

Choose the right folders which needs to be part of Build Path

In the above Screen shot src/main/resources needs to be removed from the build as it results in compilation error [wrong package ID]. Hence Include the Folder till src/main/resources .

I did try Build Path -> Exclude. This does not actually solve the problem. i.e though the RedX mark is cleared from the Eclipse, it will no more be right Java projects. I.e user may not be able to run JUnit Test cases/ debug etc.

But by including right folders, we can continue with as Java Project.

Solution 7 - Eclipse

Since the files in the resource folder rarely change, I suggest to put them into a second project (where you can set different warning options) and then access that via a relative path (like ${basedir}/../special-tomcat).

Solution 8 - Eclipse

The best approach is to use the Inclusion and Exclusion Patterns option in the Java Build Path.
For example if you want to exclude one project of being automatically build:
1- Go to its Properties->Java Build Path->Source.
2- Expand the folder in the "Source folders on the build path:" area
3- Select Exclude->Edit
4- In the exclusion patterns add **
Note: for more information on this patterns: Include and Exclusion Patterns

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiongMaleView Question on Stackoverflow
Solution 1 - EclipseTIER 0011View Answer on Stackoverflow
Solution 2 - EclipseGiorgos DimtsasView Answer on Stackoverflow
Solution 3 - EclipseRhett HudsonView Answer on Stackoverflow
Solution 4 - EclipsenandaView Answer on Stackoverflow
Solution 5 - EclipsesoruView Answer on Stackoverflow
Solution 6 - EclipseSowmya RaoView Answer on Stackoverflow
Solution 7 - EclipseAaron DigullaView Answer on Stackoverflow
Solution 8 - EclipseJaviView Answer on Stackoverflow