web-dev-qa-db-fra.com

Intellij Impossible de résoudre le symbole lors de l'importation

Ce problème se produit par intermittence pour différentes bibliothèques et différents projets . Lorsque vous essayez d'importer une bibliothèque, le package est reconnu, mais le nom de la classe ne peut pas être résolu.

Si, dans l'instruction d'importation, je right-click -> Goto -> the package's declaration, toutes les classes décompilées sont affichées dans le volet latéral, y compris celles dont j'ai besoin -- Si j'essaie de compléter automatiquement l'instruction d'importation, je remarque que la classe dont j'ai besoin est ne figure pas dans la liste déroulante.

J'ai déjà essayé d'invalider les caches, ça ne marche pas. Je ne trouve aucun conflit de classe - il n'y a pas d'autre fichier jar dans mon chemin de classe avec le même nom de package .. Je peux importer cette classe dans d'autres projets.

S'il vous plaît voir des captures d'écran:

enter image description here

enter image description here

Quelqu'un a un indice?

77
Asaf Ebgi

vous pouvez essayer d'invalider le cache et de redémarrer intellij. Dans de nombreux cas, cela vous aidera.

Fichier -> Invalider les caches/redémarrer

149
sahitya

Il peut y avoir plusieurs raisons à cela. Dans mon cas, c'était un problème de racine source erroné. Les caches d'invalidation ne fonctionnaient pas avec d'autres solutions.

Vérifiez les racines de votre source de module.

  1. Structure du projet (Ctrl + Alt + Maj + S).

  2. Modules

  3. Sélectionnez votre module de problème.

  4. Modifier l'onglet en haut de la fenêtre "Sources".

  5. Supprimez les racines source indésirables. Gardez-en un et ajoutez src et testez les racines sources dans cette racine.

29
Vipin Thomas

J'ai rencontré un problème similaire, le commentaire de Mike m'a aidé à aller dans la direction pour le résoudre. 
Bien que la bibliothèque requise fût également une partie du module de mon projet, elle nécessitait un changement de portée. Dans la dépendance de module, j'ai changé le scope en " Compiler " plutôt que " Test " et cela fonctionne bien pour moi maintenant.

10
minx

Vérifiez vos dépendances de module.

  1. Structure du projet (Ctrl+Alt+Shift+S).
  2. Modules
  3. Sélectionnez votre module de problème.
  4. Modifier l'onglet en haut de la fenêtre "Dépendances".
  5. Vérifiez quelle bibliothèque nécessaire (vous avez peut-être besoin d'ajouter une bibliothèque spécifiée dans l'onglet "Bibliothèques") ou le module répertorié ici et dont la portée est correcte ("complile" pour la plupart).
10
Artem Moiseyenko

IntelliJ a des problèmes pour résoudre les dépendances . Essayez les solutions suivantes:

  1. Faites un clic droit sur pom.xml -> Maven -> Réimporter
  2. Encore une fois, faites un clic droit sur pom.xml -> Maven -> Générer des sources et mettre à jour des dossiers
8
Chandlersingh

Fichier -> Invalider les caches/redémarrer EtConstruire votre projet

2
Harsh

J'ai trouvé la réponse suivante de @ jossef-harush et @ matt-leidholm utile d'un autre lien

  • dans l'éditeur IntelliJ, cliquez sur le mot-clé rouge (Integer par exemple) et appuyez sur ALT + ENTER (ou cliquez sur l'icône d'ampoule)
  • sélectionnez Setup JDK dans le menu des intentions

IntelliJ intentions menu

  • cliquez sur Configure

Project SDK selection dialog

  • Dans mon cas, le chemin JDK était incorrect (indiqué sur /opt/jdk1.7.0_51 au lieu de /opt/jdk1.7.0_65)

Broken Configure SDK dialog

  • clique sur le ... et parcourez le chemin JDK vers la droite

Fixed Configure SDK dialog

  • effacez le cache

IntelliJ File menu

2
manntsheth

J'ai aussi eu cette erreur plusieurs fois lorsque j'essayais de construire un nouveau projet Java. 

Voici comment j'ai obtenu ce problème stupide. 

  1. Créez un projet vide et créez un nouveau répertoire src/main/Java.
  2. Créez le paquet source net.gongmingqm10.sketch.
  3. Utilisez gradle wrapper, gradle idea pour créer les éléments de dégradé du projet.
  4. Ajoutez des dépendances dans le fichier build.gradle et gradle build, réimportez le projet.
  5. Créez User.Java et School.Java dans le package existant net.gongmingqm10.sketch
  6. J'ai eu l'erreur pendant que j'essayais d'utiliser import School dans User.Java.
  7. Intellij conserve plainte ne peut pas résoudre le symbole lors de l'importation.

Solution:

Générez d'abord le projet et marquez le répertoire principal/Java en tant que racine source. Créer un nouveau répertoire avec le même nom net.gongmingqm10.sketch. Déplacez tous les fichiers des anciens paquets problématiques vers un nouveau paquet.

Cause première:

Arborescence du code source

Comme vous pouvez le voir sur l'arbre. J'ai un répertoire nommé net.gongmingqm10.sketch. Mais ce dont nous avons vraiment besoin, c’est le répertoire à 3 niveaux: net-> gongmingqm10-> sketch

Mais avant de terminer la construction de mon projet dans Intellij, je crée un nouveau répertoire nommé net.gongmingqm19.sketch qui me donnera un véritable répertoire portant le nom net.gongmingqm10.sketch.

Quand on essaie de l'importer. Évidemment, comment intellij peut importer le fichier sous le répertoire weired avec le nom a.b.c.

1
Ming Gong

Faites un clic droit sur le fichier pom.xml, allez à Maven, cliquez sur Réimporter. J'ai eu le même problème et cela a fonctionné pour moi.

1
rdutta

J'ai essayé d'invalider les caches et de redémarrer, mais la seule chose qui a fonctionné pour moi a été d'effacer complètement le répertoire .idea, puis de créer un nouveau projet à partir de zéro.

1
sheldonkreger

J'avais le même problème et la raison en était un marquage incorrect des sources du projet.

J'ai créé manuellement le contenu racine et je n'ai pas remarqué que le dossier src/main/test était marqué comme suit: Sources au lieu de Tests. C'est pourquoi on a supposé que mes classes de test avaient toutes leurs bibliothèques de tests (JUnit, Mockito, etc.) avec la portée de Compile, pas de Test.

Dès que j'ai marqué src/main/test comme Tests et reconstruit le module, toutes les erreurs ont disparu.

J'avais récemment eu cela en essayant d'utiliser Intellij pour travailler sur NiFi, mais le problème était que NiFi requiert Maven> = 3.1.0 et que la version que j'avais extraite (mon fichier par défaut) était 3.0.5. La mise à jour de la version Maven pour le projet a corrigé le problème. Ainsi, dans certains cas, un désalignement de la version de Maven peut être une chose à regarder ... Je suppose que c'est assez inhabituel, mais si vous en êtes aussi loin sur le fil, vous rencontrez probablement un problème. problème inhabituel :)

0
Isaac

Le même problème. Si ces méthodes ne fonctionnent pas. vous pouvez essayer de supprimer la bibliothèque du référentiel Maven local et de la réimporter dans pom.

 mvn repository

Enfin ça va pour moi.

 project

0
Misire J

Après une longue recherche, j'ai découvert qu'une dépendance était en quelque sorte corrompue sur ma machine dans un projet maven. La chose étrange était que la dépendance fonctionnait toujours correctement dans le code Java compilé. Toutefois, lorsque j'ai nettoyé et reconstruit mon cache de dépendances maven, le problème a disparu et IntelliJ a reconnu le package. Vous pouvez le faire en lançant:

mvn dependency:purge-local-repository

Curieusement, la source de mon problème n’est donc pas IntelliJ, mais maven elle-même.

0
JohannesB

S'il vous plaît essayez Fichier-> Synchroniser. Fermez et rouvrez ensuite IntelliJ avant d’invalider.

Une fois que j'ai redémarré. J'aurais invalidé mais la synchronisation effacé tout après le redémarrage.

0
Adam M. Erickson

file-> Project Structure -> Modules, trouvez le module avec des problèmes, cliquez dessus et choisissez l'onglet Dependencies dans le côté droit Cliquez sur le signe plus vert, essayez d’ajouter le fichier jar ou les bibliothèques à l’origine du problème. Ça marche pour moi.

0
SteveHu

Avait le même problème jusqu'à ce que j'ai remarqué que le dossier src était marqué comme source racine au lieu de Java! Passer à seulement le Java (src/main/Java) pour être le la racine source a résolu mon problème  enter image description here

0
Pipo

Simple Restart a fonctionné pour moi.

Je suggérerais d'abord d'essayer avec le redémarrage et ensuite vous pouvez opter pour l'invalidation du cache. 

PS: le nettoyage des caches du système entraînera la suppression de l'historique local.

0
neoguy

J'ai trouvé la cause source!

Dans mon cas, j’ajoute un fichier jar contenant un fichier source Java, mais je pense que la source Java est incorrecte. Dans la bibliothèque de dépendances Intellij Idea, elle ajoute la source automatique. Structure du projet "->" Bibliothèque ", cela fonctionne pour moi.

0
crazycode

Ce qui m’a été fait, c’est d’éditer le fichier de paquet dans le dossier .idea, j’ai accidentellement ajouté des sources à cette bibliothèque de jar et Android ne pouvait pas le résoudre en supprimant la ligne des sources comme indiqué dans l’image b/m erreur de la bibliothèque .

Ensuite, reconstruisez le problème de gradle et bam résolu. 

0
mario

J'ai eu un problème similaire avec mon projet Maven importé. Dans un module, il ne peut pas résoudre le symbole lors de l'importation d'une partie de l'autre module (oui, une partie de ce module peut être résolue).

J'ai remplacé le "répertoire personnel Maven" par une version plus récente qui a résolu mon problème.

Mise à jour: Bon pour 1 heure, retour à l'état brisé ...

0
Wenbin

@Anton Dozortsev J'ai été rendu fou par un comportement similaire; J'ai fini par réinstaller le IDE plusieurs fois, ne dépassant pas le problème après avoir supprimé l'application IDEA, tous les caches, préférences, etc.

Dans l'intervalle, j'ai essayé toutes sortes d'étapes (comme le redémarrage, l'invalidation, la suppression de fichiers .idea et *.iml, etc.).

Il s’est avéré que le problème était dû au réglage idea.max.intellisense.filesize d’IntelliJ. Je l'avais réglé sur 100 Ko, ce qui était inférieur à la taille de ma dépendance, ce qui a amené IntelliJ à l'indiquer comme inconnue, tout comme dans votre capture d'écran.

Réparer:

  1. Cliquez sur Aide -> Modifier les propriétés personnalisées.

  2. Définissez la propriété sur une valeur supérieure. la valeur par défaut est 2500 Ko idea.max.intellisense.filesize=2500

0
Mihai Bojin