web-dev-qa-db-ger.com

Intellij Symbol kann beim Import nicht aufgelöst werden

Dieses Problem tritt zeitweise für verschiedene Bibliotheken und verschiedene Projekte auf. Wenn Sie versuchen, eine Bibliothek zu importieren, wird das Paket erkannt, der Klassenname kann jedoch nicht aufgelöst werden.

Wenn in der import-Anweisung right-click -> Goto -> the package's declaration alle im Klassenbereich zerlegten Klassen angezeigt werden - einschließlich der von mir benötigten - .. Wenn ich versuche, die import-Anweisung automatisch auszufüllen, stelle ich fest, dass die Klasse, die ich benötige, ist nicht im Dropdown enthalten.

Ich habe bereits versucht, Caches ungültig zu machen, funktioniert nicht. Ich kann keine Klassenkonflikte finden - es gibt keine andere JAR-Datei mit demselben Paketnamen in meinem Klassenpfad .. __ Ich kann diese Klasse in andere Projekte importieren.

Bitte sehen Sie Screenshots:

enter image description here

enter image description here

Hat jemand eine Ahnung?

77
Asaf Ebgi

sie können versuchen, den Cache für ungültig zu erklären und das System neu zu starten. In vielen Fällen hilft es.

Datei -> Caches ungültig machen/neu starten

149
sahitya

Dafür kann es mehrere Gründe geben. In meinem Fall war dies ein falsches Quellproblem. Ungültige Caches funktionierten nicht zusammen mit anderen Lösungen.

Überprüfen Sie die Wurzeln Ihrer Modulquellen.

  1. Projektstruktur (Strg + Alt + Umschalttaste + S).

  2. Module

  3. Wählen Sie Ihr Problemmodul aus.

  4. Registerkarte oben im Fenster "Quellen" ändern.

  5. Entfernen Sie unerwünschte Quellwurzeln. Behalten Sie einen und fügen Sie src hinzu und testen Sie die Quellstämme in dieser Wurzel.

29
Vipin Thomas

Ich war mit einem ähnlichen Problem konfrontiert. Mikes Kommentar half mir, in die Richtung zu gehen, um das Problem zu lösen. 
Obwohl die benötigte Bibliothek auch in meinem Projekt Bestandteil des Moduls war, musste der Umfang geändert werden. In der Modulabhängigkeit habe ich scope in "Compile" und nicht in "Test" geändert, und es funktioniert jetzt gut für mich.

10
minx

Überprüfen Sie Ihre Modulabhängigkeiten.

  1. Projektstruktur (Ctrl+Alt+Shift+S).
  2. Module
  3. Wählen Sie Ihr Problemmodul.
  4. Ändern Sie die Registerkarte oben im Fenster "Abhängigkeiten".
  5. Überprüfen Sie, welche Bibliothek benötigt wird (möglicherweise müssen Sie die angegebene Bibliothek in der Registerkarte "Bibliotheken" hinzufügen) oder welches Modul hier aufgelistet ist und über den richtigen Bereich verfügt (meistens "complile").
10

IntelliJ hat Probleme beim Auflösen der Abhängigkeiten ... Versuchen Sie Folgendes:

  1. Klicken Sie mit der rechten Maustaste auf pom.xml -> Maven -> Reimport
  2. Klicken Sie erneut mit der rechten Maustaste auf pom.xml -> Maven -> Quellen generieren und Ordner aktualisieren
8
Chandlersingh

Datei -> Caches ungültig machen/Neustart oder das erneute Erstellen des Projekts hat nicht funktioniert.

Für mein Gradle-Projekt funktionierte Folgendes: "Alle Gradle-Projekte aktualisieren" auf der Registerkarte "Gradle" in der oberen rechten Ecke von IntelliJ v2017.

 enter image description here

5
eaykin

Datei -> Caches ungültig machen/Restart AndBuildern Sie Ihr Projekt

2
Harsh

Ich fand die folgende Antwort von @ jossef-harush und @ matt-leidholm nützlich von einem anderen Link

  • klicken Sie im IntelliJ-Editor auf das rote Schlüsselwort (zum Beispiel Integername__) und drücken Sie ALT + ENTER (oder klicken Sie auf das Glühlampensymbol)
  • wählen Sie Setup JDK aus dem Intentions-Menü

IntelliJ intentions menu

  • klicke auf Configurename__

Project SDK selection dialog

  • In meinem Fall war der JDKname__-Pfad falsch (auf /opt/jdk1.7.0_51 anstelle von /opt/jdk1.7.0_65 gezeigt)

Broken Configure SDK dialog

  • klicke auf das ... und navigieren Sie zum rechten Pfad JDKname__

Fixed Configure SDK dialog

  • lass uns den Cache leeren

IntelliJ File menu

2
manntsheth

Ich habe diesen Fehler auch mehrfach erhalten, wenn ich versuche, ein neues Java-Projekt zu erstellen. 

Unten ist der Schritt, wie ich dieses dumme Thema bekommen habe. 

  1. Erstellen Sie ein leeres Projekt und erstellen Sie ein neues Verzeichnis src/main/Java.
  2. Erstellen Sie das Quellpaket net.gongmingqm10.sketch.
  3. Verwenden Sie gradle wrapper, gradle idea, um das Gradle-Zeug für das Projekt zu erstellen.
  4. Fügen Sie einige Abhängigkeiten in der Datei build.gradle und gradle build hinzu, und importieren Sie das Projekt erneut.
  5. Erstellen Sie User.Java und School.Java im vorhandenen Paket net.gongmingqm10.sketch.
  6. Ich habe den Fehler erhalten, während ich versuche, Import School in User.Java zu verwenden.
  7. Intellij behält sich vor, das Symbol beim Importieren nicht auflösen zu können.

Lösung:

Erstellen Sie zuerst das Projekt und markieren Sie das Hauptverzeichnis/Java als Quellstammverzeichnis. Erstellen Sie ein neues Verzeichnis mit demselben Namen net.gongmingqm10.sketch. Verschieben Sie alle Dateien aus den alten problematischen Paketen in ein neues Paket.

Ursache:

Verzeichnisbaum des Quellcodes

Wie man am Baum sehen kann. Ich habe ein Verzeichnis mit dem Namen net.gongmingqm10.sketch. Was wir wirklich brauchen, ist das 3-Ebenen-Verzeichnis: net-> gongmingqm10-> sketch

Aber bevor ich mein Projekt in Intellij fertiggestellt habe, erstelle ich ein neues Verzeichnis mit dem Namen net.gongmingqm19.sketch, das mir ein echtes Verzeichnis mit dem Namen net.gongmingqm10.sketch gibt.

Wenn wir versuchen, es zu importieren. Wie kann man die Datei unter dem neuen Verzeichnis mit dem Namen a.b.c importieren?.

1
Ming Gong

Klicken Sie mit der rechten Maustaste auf die Datei pom.xml. Gehen Sie zu Maven und klicken Sie auf Reimport. Ich hatte ein ähnliches Problem und das hat für mich funktioniert.

1
rdutta

Ich habe versucht, Caches ungültig zu machen und neu zu starten, aber das einzige, was für mich funktionierte, war, das .idea-Verzeichnis vollständig zu löschen und dann ein neues Projekt von Grund auf zu erstellen.

1
sheldonkreger

Ich hatte das gleiche Problem und der Grund dafür war die falsche Kennzeichnung der Projektquellen.

Ich habe den Stamminhalt manuell erstellt und nicht bemerkt, dass der src/main/test-Ordner als Sources anstelle von Tests markiert wurde. Aus diesem Grund wurde angenommen, dass meine Testklassen alle ihre Testbibliotheken (JUnit, Mockito usw.) mit dem Geltungsbereich von Compile haben und nicht mit Test.

Sobald ich src/main/test als Tests markiert und das Modul neu aufgebaut habe, waren alle Fehler verschwunden.

Ich hatte dies vor kurzem beim Versuch, Intellij für die Arbeit mit NiFi zu verwenden, das Problem bestand darin, dass NiFi Maven> = 3.1.0 erfordert und die Version, mit der ich ausgecheckt hatte (ich denke, meine Standardeinstellung) war 3.0.5. Durch das Aktualisieren der Maven-Version für das Projekt wurde dieses Problem behoben. In einigen Fällen kann eine falsche Ausrichtung der Maven-Version eine Sache sein, die man sich ansehen muss ungewöhnliches Problem :)

0
Isaac

Dasselbe Problem. Wenn diese Methoden nicht funktionieren. Sie können versuchen, die lib aus dem lokalen Maven-Repository zu löschen und in pom erneut zu importieren.

 mvn repository

Endlich ist es gut für mich.

 project

0
Misire J

Nach langer Suche entdeckte ich, dass eine Abhängigkeit auf meinem Rechner in einem Maven-Projekt irgendwie beschädigt war. Das Merkwürdige war, dass die Abhängigkeit im kompilierten Java-Code immer noch korrekt funktionierte. Als ich den Cache für Maven-Abhängigkeiten jedoch bereinigt und neu erstellt hat, ist das Problem behoben und IntelliJ hat das Paket erkannt. Sie können dies tun, indem Sie Folgendes ausführen:

mvn dependency:purge-local-repository

Interessanterweise war die Ursache meines Problems also nicht IntelliJ, sondern Maven selbst.

0
JohannesB

Bitte versuchen Sie File-> Synchronize. Schließen Sie dann IntelliJ und öffnen Sie es erneut, bevor Sie es ungültig machen.

Einmal habe ich neu gestartet. Ich hätte es ungültig gemacht, aber die Synchronisierung hat nach dem Neustart alles gelöscht.

0

file-> Project Structure -> Modules, suchen Sie das fehlerhafte Modul, klicken Sie darauf und wählen Sie die Registerkarte Dependencies auf der rechten Seite. Klicken Sie auf das grüne Pluszeichen, und fügen Sie die JAR-Bibliothek oder Bibliotheken hinzu, die das Problem verursachen. Das ist für mich in Ordnung.

0
SteveHu

Hatte das gleiche Problem, bis ich bemerkte, dass der Ordner srcals Root-Quelle markiert anstelle von Java! .__/Java) als Quellwurzel mein Problem gelöst haben  enter image description here

0
Pipo

Simple Restart hat für mich gearbeitet.

Ich würde vorschlagen, zuerst einen Neustart durchzuführen, und dann können Sie den Cache für ungültig erklären. 

PS: Durch das Löschen der Systemcaches wird die lokale Historie gelöscht.

0
neoguy

Ich habe die Ursache gefunden!

In meinem Fall füge ich eine JAR-Datei hinzu, die einige Java-Quelldateien enthält, aber ich denke, dass die Java-Quelle schlecht ist. In der Intellij Idea-Abhängigkeitsbibliothek wird die Quelle automatisch hinzugefügt. Daher ist der Import in Editor BAD. Projektstruktur "->" Bibliothek ", das funktioniert für mich.

0
crazycode

Was ich für mich getan habe, ist die Paketdatei im .idea-Ordner zu bearbeiten, da ich versehentlich Quellen zu dieser Jar-Bibliothek hinzugefügt habe. Android konnte sie nicht lösen, indem die Quellzeile gelöscht wurde, wie im b/m-Bild angegeben. Library-Fehler .

Dann das Gradle-and-BAM-Problem gelöst. 

0
mario

Ich hatte ein ähnliches Problem mit meinem importierten Maven-Projekt. In einem Modul kann das Symbol beim Import für einen Teil des anderen Moduls nicht aufgelöst werden (Ja, ein Teil dieses Moduls kann aufgelöst werden).

Ich habe "Maven Home-Verzeichnis" in eine neuere Version geändert, die mein Problem gelöst hat.

Update: 1 Stunde lang gut, zurück in den kaputten Zustand ...

0
Wenbin

@Anton Dozortsev Ich war von einem ähnlichen Verhalten verrückt geworden; Am Ende musste ich die IDE ein paar Mal neu installieren. Erst nachdem ich die App IDEA, alle Caches, Voreinstellungen usw. entfernt hatte, wurde das Problem behoben.

Ich habe in der Zwischenzeit alle möglichen Schritte ausprobiert (wie Neustarts, Ungültigmachungen, Löschen von .idea- und *.iml-Dateien und andere).

Es stellte sich heraus, dass das Problem auf die Einstellung von idea.max.intellisense.filesize von IntelliJ zurückzuführen ist. Ich hatte es auf 100 KB gesetzt, was kleiner war als die Größe meiner Abhängigkeit, was dazu führte, dass IntelliJ es als unbekannt anzeigte, genau wie in Ihrem Screenshot.

Fix:

  1. Klicken Sie auf Hilfe -> Benutzerdefinierte Eigenschaften bearbeiten

  2. Setzen Sie die Eigenschaft auf einen höheren Wert. Der Standardwert ist 2500 KB idea.max.intellisense.filesize=2500

0
Mihai Bojin