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:
Quelqu'un a un indice?
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
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.
Structure du projet (Ctrl + Alt + Maj + S).
Modules
Sélectionnez votre module de problème.
Modifier l'onglet en haut de la fenêtre "Sources".
Supprimez les racines source indésirables. Gardez-en un et ajoutez src et testez les racines sources dans cette racine.
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.
Vérifiez vos dépendances de module.
IntelliJ a des problèmes pour résoudre les dépendances . Essayez les solutions suivantes:
Fichier -> Invalider les caches/redémarrer EtConstruire votre projet
J'ai trouvé la réponse suivante de @ jossef-harush et @ matt-leidholm utile d'un autre lien
Integer
par exemple) et appuyez sur ALT + ENTER (ou cliquez sur l'icône d'ampoule)Setup JDK
dans le menu des intentionsConfigure
JDK
était incorrect (indiqué sur /opt/jdk1.7.0_51
au lieu de /opt/jdk1.7.0_65
)JDK
vers la droiteJ'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.
src/main/Java
.net.gongmingqm10.sketch
.gradle wrapper
, gradle idea
pour créer les éléments de dégradé du projet.build.gradle
et gradle build
, réimportez le projet.User.Java
et School.Java
dans le package existant net.gongmingqm10.sketch
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:
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
.
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.
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.
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 :)
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.
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.
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.
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.
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.
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.
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é ...
@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:
Cliquez sur Aide -> Modifier les propriétés personnalisées.
Définissez la propriété sur une valeur supérieure. la valeur par défaut est 2500 Ko idea.max.intellisense.filesize=2500