D'accord. J'en ai marre de ce problème. Ce doit avoir une solution facile, j'en suis sûr !! J'espère SO peut m'aider à m'en débarrasser une fois pour toutes!
Question
Comment pouvons-nous faire en sorte qu'Eclipse cesse d'essayer traiter/compiler tous les fichiers sous un répertoire de projet particulier? Le objectif est de ne pas erreurs/avertissements à existent dans la vue des problèmes s’ils se rapporter à quelque chose dans ce dossier ou ses sous-dossiers.
Contexte
Nous exécutons Eclipse 3.6 et le plugin m2Eclipse v0.10.2.20100623 gère notre construction automatique. Pour des raisons indépendantes de ma volonté, la totalité de la distribution BlazeDS se trouve dans le répertoire de notre projet SVN sous src/main/resources/blazeds
. Pour l’essentiel, ce répertoire contient une distribution Vanilla de Tomcat sur laquelle sont exécutés tous les fichiers de configuration et de projet ajoutés lors du déploiement sur notre serveur via SCP.
Ainsi, lorsque nous exécutons deploy, cette version de Tomcat est copiée sur le serveur et notre projet est placé à l'intérieur. Tomcat et notre application RIA fonctionnent et tout va bien.
Le problème est qu'Eclipse essaie de tout compiler sous src/main/resources/blazeds
lors de l'exécution d'AutoBuild, ce qui génère environ 300 erreurs/avertissements dans notre vue des problèmes. Ainsi, lorsqu'une erreur réelle se manifeste, elle se perd dans le bruit.
Les erreurs proviennent du code dans /blazeds/Tomcat/webapps/samples/testdrive-datapush
ainsi que des exemples d'applications Web testdrive-httpservice
, traderdesktop
. Ils ont un code source dépendant qui ne fait pas partie du chemin de classe et des fichiers JAR non inclus dans les bibliothèques.
Tentatives infructueuses
J'essaie de pousser la bonne solution: supprimer complètement les échantillons et également éliminer le contrôle de version. Cela n'arrive pas de sitôt.
J'ai suivi la SO réponse ici mais ce n'est qu'une solution très temporaire. J'ai essayé d'ajouter des exclusions partout où je pouvais penser et d'autres membres de mon équipe ont fait de même. J'ai supprimé src/main/resources
en tant que répertoire source (dans les préférences> Chemin de construction Java> onglet Source), j'ai ajouté des exclusions pour blazeds
dans le répertoire des ressources. J'ai essayé toutes les permutations de blazeds
et **
comme dans *blazeds*
, **/blazeds/**
, etc.
J'ai même essayé d'inclure les bibliothèques et les fichiers source dont le compilateur se plaint, mais je ne pouvais pas le faire correctement sans modifier excessivement la configuration de notre projet.
Résumé
Cela doit être simple. Quel est le moyen conventionnel d’exclure un dossier cela produit des avertissements/erreurs dans un projet Eclipse?
Mise à jour # 1:
La solution de gedim ci-dessous est décente mais
1) ne supprime pas les X rouges du projet
2) est un changement que chaque membre de notre équipe doit faire manuellement
(c'est-à-dire que ce n'est pas dans un fichier de propriétés de projet; par conséquent, il n'est pas coché dans Subversion)
J'espère qu'il y a un moyen de résoudre le problème principal en disant à Eclipse que ce répertoire ne contient pas
éléments à compiler/valider. Un tel changement apparaîtrait probablement dans l'un des fichiers de paramétrage du projet.
La photo ci-dessous montre les X rouges que j'essaie d'effacer et queBuild Path > Exclude
n'est pas une option ...
Vous pouvez utiliser le Configure Contents...
dans le menu du panneau Problems
. Là, vous pouvez créer une nouvelle configuration et définir la portée sur On Working Set:
. Cliquez sur Select...
et créez un nouvel ensemble de travail qui exclut les dossiers que vous ne souhaitez pas.
J'ai rencontré un problème similaire et je l'ai résolu en déplaçant le dossier dans le dossier de mon projet. Je suis ensuite allé à:
Il existe une demande de fonctionnalité Eclipse pour ignorant les avertissements des dossiers source spécifiés. Plusieurs correctifs publiés dans le fil de commentaire fournissent des implémentations de la fonctionnalité. Il semble qu'un correctif final est sur le point de passer en revue afin d'être inclus dans une prochaine version.
Mise à jour 6/19/2012: Eclipse Juno 4.2M6 prend en charge l’ignorance des problèmes pour un dossier source particulier. La fonctionnalité est disponible dans la boîte de dialogue Chemin de construction Java. Voir le note de version .
Si vous voulez vraiment exclure certaines classes/packages de la construction automatique, vous pouvez simplement cliquer dessus avec le bouton droit de la souris et sélectionner Chemin de construction -> Exclure
Configurez votre projet (Projet/Propriétés/Chemin de construction Java/Source) de manière à ce que, au lieu du dossier src de niveau supérieur avec exclusions, vous n’ayez qu’une liste des dossiers à compiler.
En supposant Eclipse Helios, étape par étape:
Si cela fonctionne, vous devriez pouvoir réactiver la création automatique. Si ce n'est pas le cas, quelque chose d'étrange se passe. Peut-être que le projet n'utilise pas Java Builder standard, mais quelque chose qui ressemble à Ant Builder (Projet/Propriétés/Constructeurs).
Aller au chemin de construction Java -> Source -> Ajouter un dossier
Choisissez les bons dossiers qui doivent faire partie de Build Path
Dans la capture d'écran ci-dessus, src/main/resources doit être supprimé de la construction car il en résulte une erreur de compilation [mauvais identificateur de package]. Par conséquent, incluez le dossier jusqu'à src/main/resources.
J'ai essayé Build Path -> Exclude. Cela ne résout pas réellement le problème. C'est-à-dire que la marque RedX est effacée de Eclipse, il ne s'agira plus de projets Java corrects. L'utilisateur peut ne pas être en mesure d'exécuter les cas/tests de débogage, etc. de JUnit.
Mais en incluant les bons dossiers, nous pouvons continuer en tant que projet Java.