web-dev-qa-db-fra.com

Obtenir "ne trouve pas de symbole" dans un projet Java dans Intellij

Je passe cet appel à une instance singleton statique de la classe "GameManager.Java".

HUD.getInstance().update(timeDelta);

HUD.Java contient la classe HUD ainsi que deux autres classes associées, HUDTextElement et HUDElement. Toutes les classes sont dans le même chemin racine ../src/org/mypackage

Cependant, lors de la compilation de ce projet Java dans IntelliJ, le message "impossible de trouver le symbole HUD" se trouve sur la ligne sur laquelle je passe l'appel HUD.getInstance ().

Ce même code est parfaitement compilé dans Eclipse, avez-vous une idée du problème?

52
joe

Sélectionnez Build-> Rebuild Project pour le résoudre.

73
tiboo

J'ai eu le même problème, et il s'avère que je n'avais jamais complètement compilé le nouveau projet. Alors faites un clic droit et sélectionnez Compiler '' (shift-cmd-F9 sur mac) le corrige. Il semble que la compilation lors de la sauvegarde ne "voit" pas les fichiers non compilés.

Marquer le dossier src en tant que source n’a pas pas aidé dans mon cas.

51
Sjoerd K

J'ai eu le même problème et l'ai corrigé en cliquant sur Fichier> Invalider caches/restart

22
ganninu93

Cela est susceptible d'être votre dossier ../src n'est pas marqué comme un dossier "source" dans Intellij IDEA, donc il ne sait pas y chercher pour trouver votre classe. Vous pouvez cliquer avec le bouton droit de la souris sur le dossier dans l'explorateur de projet et choisir "Marquer comme dossier source" pour résoudre ce problème.

22
Paul Sanwald

J'obtenais la même erreur "impossible de trouver le symbole" quand j'ai fait Build -> Make Project. J'ai résolu ce problème en supprimant mon dossier Maven /target, en cliquant avec le bouton droit de la souris sur le module de mon projet et en effectuant Maven -> Reimport, puis Build -> Rebuild Project. C'était sur IntelliJ Idea 13.1.5.

Il s'est avéré que le Maven -> Reimport était la clé, car le problème a refait surface plusieurs fois avant que je ne le fasse enfin.

14
Christian Wilkie

Merci pour l’aide jusqu’à présent, la solution était de compiler HUD.Java d’abord (clic droit sur le fichier-> Compiler HUD.Java). Après avoir compilé le fichier Java, le reste du projet pourrait être compilé sans aucun problème.

Je ne sais pas vraiment pourquoi cela a résolu le problème, ni pourquoi IntelliJ ne le ferait pas automatiquement, mais l'erreur de la racine semble être liée au fait qu'IntelliJ ne gère pas correctement plusieurs classes dans un seul fichier .Java.

12
joe

J'utilise maven dans mon projet. Pour une raison quelconque, IntelliJ me donnait ce genre d'erreurs étranges. J'ai couru mvn clean et essayé une resynchronisation et ces erreurs ont disparu.

5
Moiz Raja

Je sais que c’est une vieille question, mais, selon mon expérience récente, cela se produit car les ressources de génération sont supprimées ou Idea ne peut pas les reconnaître comme source.

Où que l'erreur apparaisse, fournissez des sources pour le dossier/répertoire et cette erreur doit être résolue.

Parfois, même lorsque nous affectons des sources à l’ensemble du dossier, certaines classes peuvent ne pas être disponibles. Pour les utilisateurs novices, la solution simple est d’importer une nouvelle copie et de reconstruire l’application pour que tout soit bon.

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

2
Matt

Je devais faire un clic droit sur le projet et sélectionner "Réimporter" dans le sous-menu "Exécuter Maven".

2
bitsmcgee77

Je sais que ce fil est vieux, mais une autre solution était de courir

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

Et sur IntelliJ, faites CMD + Maj + A (mac os) -> tapez "Réimporter tous les projets Maven".

Si cela ne fonctionne pas, essayez de forcer de nouveau les dépendances maven.

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

Parfois, la classe souhaitée se trouve dans le répertoire source test. Arrivé à moi, de toute façon…

0
Sam Barnum

la recompilation de la classe principale Application.Java l’a fait pour moi, clic droit sur la classe> Recompiler

0
Taranjit Kang

J'avais le même problème, sauf que j'importais les classes pour lesquelles les dépendances ne se résolvaient pas. J'ai rafraîchi les projets Maven, Rebuild Project. Cela n'a toujours pas résolu . On dirait qu'IntelliJ mettait en cache quelque chose de manière incorrecte . Je suppose que cela a effacé le cache d'une manière ou d'une autre.

0
MoneeK

Comme il s’agit du premier hit sur Google à la recherche de l’erreur "intelliJ ne trouve pas le symbole", je vais également vous présenter 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 générées dans src/generated-sources par des spécifications dans pom.xml. Pour une raison quelconque, cela n’a pas été exécuté correctement lorsque j’ai ouvert le projet pour la première fois et que la reconstruction/réimportation n’a pas aidé, les fichiers n’ont donc jamais été générés. 

La solution consistait à cliquer avec le bouton droit sur le module et à sélectionner Maven -> Generate Sources and Update Folders Cela résolvait le problème et je pouvais compiler. 

0
Araklaj

Pour mon cas, le problème était d'utiliser la fonctionnalité expérimentale de Lombok, @UtilityClass, dans mon projet Java dans Intellij Idea, pour annoter une méthode de classe en tant que "statique". Quand j'ai explicitement créé chaque méthode de la classe en "statique" au lieu d'utiliser l'annotation, tous les problèmes de compilation ont disparu.

0
Ram

Assurez-vous que le fichier source de la classe Java à laquelle vous essayez de faire référence a une extension .Java. C'était .aj dans mon cas (j'ai dû cliquer sur "Créer un aspect" au lieu de "Créer une classe" lors de la création). IntelliJ affiche la même icône pour ce fichier que pour la classe "normale", mais le compilateur ne le voit pas lors de la construction.

Changer .aj en .Java l'a corrigé dans mon cas.

0
fracz

Cela m'est arrivé lorsque j'ai supprimé un dossier, puis copié-collé dans le projet.

Right-click project folder -> Rebuild a travaillé pour moi.

0
Tomáš Lukáč