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 ?

0voto

Wojciech Frącz Points 1050

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

Changer .aj à .java a réglé le problème dans mon cas.

0voto

Sam Barnum Points 5019

Parfois, la classe que vous voulez est dans le test répertoire source. Ça m'est arrivé, en tout cas

0voto

MoneeK Points 25

J'avais le même problème, sauf que j'importais les classes pour lesquelles les dépendances n'étaient pas résolues d'une manière ou d'une autre. J'ai rafraîchi les projets maven, reconstruit le projet. Il n'y avait toujours pas de résolution. On dirait qu'IntelliJ mettait quelque chose en cache de manière incorrecte. J'ai redémarré IntelliJ et cela a résolu les dépendances. Je suppose que le cache a été vidé d'une manière ou d'une autre.

0voto

Je vois beaucoup de réponses proposant une construction ou une reconstruction, mais au cas où cela ne résoudrait pas votre problème, notez qu'IDEA peut détecter une méthode, mais qu'il ne compilera pas si vous avez un fichier de type new avant car il attendra l'instance.

enter image description here

0voto

nikiforovpizza Points 168

Dans mon cas, j'ai eu un problème pour trouver une classe d'un autre module. Dans pom.xml Je viens d'avoir cette dépendance avec <scope>compile</scope> spécifié. La suppression de cette ligne a été utile.

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