143 votes

Obtention du message "cannot find Symbol" dans un projet Java dans IntelliJ

Je fais cet appel à une instance singleton statique de la classe GameManager.java .

HUD.getInstance().update(timeDelta);

HUD.java contient le HUD ainsi que deux autres classes connexes, HUDTextElement y HUDElement . Toutes les classes sont dans le même chemin racine. ../src/org/mypackage .

Cependant, en compilant ce projet dans IntelliJ, j'obtiens ne trouve pas le Symbol HUD sur la ligne, je fais le HUD.getInstance() call.

Ce même code se compile très bien dans Eclipse. Avez-vous une idée de l'origine du problème ?

2voto

Matt Points 173

Je sais que c'est une vieille question, mais d'après mon expérience récente, cela se produit parce que les ressources de construction sont soit supprimées, soit Idea ne peut pas les reconnaître comme source.

Partout où l'erreur apparaît, fournissez les sources du dossier/répertoire et cette erreur doit être résolue.

Parfois, même lorsque nous attribuons des sources pour l'ensemble du dossier, des classes individuelles peuvent encore être indisponibles. Pour les utilisateurs novices, la solution la plus simple est d'importer une nouvelle copie et de recréer l'application pour être prêt à partir.

Il est conseillé de faire une installation propre après cela.

2voto

edmar Points 36

Je sais que ce fil de discussion est vieux mais, une autre solution était d'exécuter

$ mvn clean install -Dmaven.test.skip=true

Et sur IntelliJ faites CMD + Shift + A (mac os) -> tapez "Reimport all Maven projects".

Si cela ne fonctionne pas, essayez de forcer le retéléchargement des dépendances maven

$ mvn clean -U install -Dmaven.test.skip=true

1voto

Ram Points 73

Dans mon cas, le problème provenait de l'utilisation de la fonctionnalité expérimentale @UtilityClass de Lombok dans mon projet java dans Intellij Idea, pour annoter les méthodes d'une classe comme étant "static". Lorsque j'ai explicitement rendu chaque méthode de la classe "static" au lieu d'utiliser l'annotation, tous les problèmes de compilation ont disparu.

1voto

learnerer Points 170

Pour moi, l'erreur provenait de @RequiredArgsConstructor(onConstructor = @__(@Inject)) et le message était cannot find symbol __ . Le message d'erreur juste au-dessus était "java : Vous n'utilisez pas un compilateur supporté par lombok, donc lombok ne fonctionnera pas et a été désactivé".

L'ajout de l'argument ci-dessous dans les options VM a fonctionné comme suggéré. aquí a fonctionné pour moi.

-Djps.track.ap.dependencies=false

0voto

Araklaj Points 37

Puisque c'est le premier résultat obtenu sur Google en cherchant l'erreur "intelliJ cannot find symbol", je vais aussi donner ma solution.

Le problème pour moi était que mon projet provenait d'Eclipse, et que certains fichiers contenaient des dépendances sur des classes qui étaient générées en src/generated-sources par des spécifications dans pom.xml. Pour une raison quelconque, ceci n'a pas été correctement exécuté lorsque j'ai ouvert le projet pour la première fois et la reconstruction/réimportation n'a pas aidé, donc les fichiers n'ont jamais été générés.

La solution consistait à cliquer avec le bouton droit de la souris sur le module, et à sélectionner Maven -> Generate Sources and Update Folders Cela a résolu le problème et j'ai pu compiler.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X