web-dev-qa-db-fra.com

Dans Eclipse, qu'est-ce qui peut provoquer l'icône d'erreur "Red-x" de Package Explorer lorsque toutes les sources Java sont compilées sans erreur?

J'utilise Eclipse pour le développement Java. Toutes mes sources compilent bien et l'application résultante compile bien. Cependant, je continue à recevoir une notification d'erreur "red-x" dans l'explorateur de packages.

Toutes mes sources dans ce répertoire source (trop long pour l'instantané) se compilent correctement, aucune des icônes ne montre l'icône d'erreur "red-x".

Toute suggestion sur la façon de résoudre le problème serait très appréciée.

84

oui, cela arrive parfois sans raison apparente. Vous pouvez aller à l'onglet "Problèmes" (juste à côté de la sortie de la console) et voir le message d'erreur, ainsi vous pourrez peut-être le réduire ainsi.

150
Jan Gressmann

Cela arrive souvent lorsque j'utilise Maven, et je l'avais toujours ignoré jusqu'à ce que je trouve cette question. Dans ce cas, vous devez mettre à jour le projet (pour vous en assurer, consultez la sous-fenêtre Problèmes).

Dans le menu contextuel du projet: Maven -> Mettre à jour le projet et sélectionnez les bases de code Maven disponibles.

Sinon, vous pouvez utiliser (Alt + F5) pour faire apparaître la même fenêtre

11
Patrick Schaefer

Essayez de nettoyer le projet et de le reconstruire.

10
flash

Je veux commencer par remercier toutes les personnes qui ont répondu. Mais le nettoyage et la reconstruction ne suffisaient pas dans mon cas car le problème était toujours là et devait être résolu.

Il s'est avéré qu'un de mes répertoires de paquets avait été copié accidentellement, de sorte qu'il existait maintenant un répertoire supplémentaire appelé "Copie de dagskra" contenant des fichiers Java avec des déclarations de paquet erronées. De plus, les erreurs dans ce "nouveau" répertoire n'apparaissent pas avec un "red-x" dans le paquet dans lequel il existe:

Capture d'écran de l'Explorateur de packages affichant une "copie de dagskra" erronée, répertoire http://www.freeimagehosting.net/uploads/a824304b18.png

C’est la pointe de la lecture de l’onglet "Problèmes" :-) qui m’a orienté dans la bonne direction; je sélectionne donc cette réponse comme étant la réponse acceptée car c’est ce dont j'avais besoin:

Instantané de l'onglet Problèmes http://www.freeimagehosting.net/uploads/dea26d5dd0.png

En espérant que cela aidera les autres ...

5

Après la construction. Actualisez le projet et si le problème persiste, cliquez simplement sur l’onglet Problèmes dans Eclipse et choisissez Supprimer tout.

Cela se produit souvent si vous effectuez une installation et si les fichiers de propriétés Eclipse ne sont pas mis à jour correctement. Même si votre projet ne contient aucune erreur. J'espère!

4
AaMng

Donc, en découvrant qu'il pourrait y avoir un paquet manquant dans le chemin de construction, donc le x rouge contre le projet principal, pour enlever ceci:

1) Allez dans "Configure Buildpath" du projet 2) Chemin de construction Java -> Onglet Source - vous devriez voir le x rouge contre le paquet/fichier manquant. s'il n'existe plus, il suffit de le "supprimer".

x rouge commence! :)

1
junipa

Parfois, il y a des erreurs de chemin de génération dans .project et vous devez passer en mode Ressource pour voir le fichier à l'origine de l'erreur.

1
JeeBee

Subversion est parfois le coupable pour cela aussi. Cela n'a peut-être rien à voir avec votre environnement. Mais, il pourrait y avoir un décalage entre l'état actuel et local du projet. Dans mon cas, faire une mise à jour puis un commit sur le serveur Subversion m'ont fourni le résultat de nettoyage attendu sans aucun indicateur dans le projet, tel que le X.

1
Jay Snayder

J'ai eu le même problème et les étapes ci-dessous ont résolu le problème:

  1. Supprimez le JRE de PROJECT> propriétés> chemin de construction Java> bibliothèques.

  2. Redémarrez l'Eclipse

  3. Ajouter le JRE à nouveau

  4. Reconstruisez le projet en utilisant Projet> Nettoyer et choisissez l'option de générer automatiquement. 

S'il vous plaît essayez.

1
sun2

Comme d'autres l'ont dit, les mauvaises références de fichiers dans le chemin de génération sont souvent la cause.

Habituellement, un fichier .jar qui a été déplacé/supprimé. Eclipse s'attend à trouver tout ce qui est référencé sur le chemin de génération à l'emplacement spécifié et se plaindra sinon.

0
madlep

J'ai rencontré ce problème aujourd'hui et trouvé ce lien. J'ai suivi comme mentionné par Patrick Schaefer ci-dessus et ouvert le dialogue de projet de mise à jour Maven. Cliquez sur mon projet de travail et cochez la case "Forcer la mise à jour des instantanés/versions" et "OK". Toute la croix rouge a disparu. J'espère que cela aide quelqu'un dans une situation similaire.

0
eshu

Cela s'est produit lorsque j'ai téléchargé fabric.io sur Eclipse Mars, mais le redémarrage de l'ordinateur a résolu ce problème.

0
Sheraz Ahmad Khilji

Dans mon cas, ce problème résolu était simplement de fermer Eclipse et de le rouvrir ... Cependant, je ne sais toujours pas pourquoi cela est arrivé ou pourquoi cela a fonctionné. J'avais des problèmes pour nettoyer mon projet (il était dit qu'il ne pouvait pas supprimer certains fichiers) et cela l'a résolu :):

0
DarkCygnus

j'ai eu le même problème. J'ai vérifié "Problèmes" -Tab et trouvé aucun serveur pour le projet. J'ai défini le serveur. le rouge-x a disparu

0
Hao

Essayez de reconstruire. J'ai constaté que les x rouges ne disparaissent pas toujours jusqu'à ce qu'une reconstruction soit terminée.

0
mdec

J'ai rencontré un problème similaire à maintes reprises. Ce qui se passe habituellement pour moi, c'est qu'un fichier Java dit qu'il ne sera pas compilé dans l'éditeur de texte, mais que dans l'explorateur de paquet, il indiquera que la compilation est bonne.

Parfois, faire une "reconstruction" ou une "construction propre" ne fonctionne pas, les fichiers ne sont pas réellement construits (il faut présumer qu'Eclipse pense que ses fichiers sont à jour) et quand cela se produit, j'ouvre habituellement le chemin de construction Java et déplacez simplement l’une de mes dépendances dans l’ordre hiérarchique. Cela oblige Eclipse à tout reconstruire et cela semble toujours fonctionner.

Si vous rencontrez toujours des problèmes, essayez de copier le projet et de voir si vous obtenez le même comportement et, à la dernière tentative, publier un bogue pour Eclipse, cela peut prendre un certain temps avant qu'il ne soit corrigé, mais au moins vous savez que vous êtes entendu.

0
Henry B

Ma solution qui a finalement fonctionné était de nettoyer tous les projets, de fermer Eclipse, de nettoyer tous les projets, de fermer Eclipse, etc. au moins 5 à 6 fois. Finalement, tout s'est arrangé et tout s'est passé comme prévu. La chose la plus étrange jamais !! 

Et non, il n'y avait pas d'erreur dans la vue Problème ou Console.

De plus, cela est arrivé après un crash informatique. La dernière fois que cela s'est produit, tout mon espace de travail était complètement perdu. C'était toujours là sur l'ordinateur, mais quand j'essayais d'y accéder, tout était vide. 

Pour une raison quelconque, les pannes d’ordinateur sont vraiment très mal gérées par Eclipse.

0
Stephane Grenier

Pour ajouter à la réponse précédente, un moyen extrême de "nettoyer" votre projet consiste à le supprimer (c'est-à-dire à supprimer sa référence de l'espace de travail, et non les fichiers réels), puis à le réimporter.
Parfois, ça aide ...

0
VonC

En outre, vous pouvez mettre à jour le projet en cliquant sur,

Clic droit sur le nom du projet -> Sélectionner Maven -> Clic droit -> Mettre à jour le projet.

Cela m'a aidé.

Merci.

0
abhijitcaps

FindBugs place également un red-x sur les fichiers/packages pour indiquer les erreurs d'analyse de code statique.

0
Rahul

Cela peut se produire pour plusieurs raisons. Si vous avez modifié le jdk, un X rouge apparaît sur la facette du projet et aucun autre dossier ne présente d'erreur. Si tel est le cas, modifiez le jdk affiché. Cela se produit parfois dans notre classe JAX-WS ( HSG

0
Andreas

J'éprouve aussi de temps en temps ces symboles d'erreur mystérieux sur les colis. Un moyen de m'en débarrasser qui fonctionne pour moi est de supprimer efficacement la bibliothèque système JRE du chemin de construction Java et de l'ajouter à nouveau. 

0
greiball

Vous pouvez aller à project-> Build Path-> Library

Si une bibliothèque est marquée X, c'est-à-dire [marquée d'une croix], supprimez-la et essayez à nouveau de construire. Cela a fonctionné pour moi aussi / 

0
Anjali

J'ai traversé ça. Mon cas était plus impliqué. Le projet a été très bien emballé à partir de la ligne de commande maven.

Un couple de choses que j'ai faites . 1. Une classe a de nombreuses importations qui ont confondu Eclipse. Les nettoyer résout une partie du problème 2. Un cas concernait un Setter, appuyant sur F3 pour y accéder, bien qu'Eclipse se soit plaint de ne pas y être. Alors je l'ai simplement retapée et ça a bien fonctionné (même pour tous les autres Setters)

Je suis toujours aux prises avec Le super constructeur implicite Item () n'est pas défini pour le constructeur par défaut. Doit définir un constructeur explicite "

0

J'ai résolu le mien par 

  • Fermez tous les autres projets (option de projet non associé)

  • Nettoyer et construire

Mon projet était Android, et c'est ce qui est arrivé.

0
Katedral Pillon