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:
Hat jemand eine Ahnung?
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
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.
Projektstruktur (Strg + Alt + Umschalttaste + S).
Module
Wählen Sie Ihr Problemmodul aus.
Registerkarte oben im Fenster "Quellen" ändern.
Entfernen Sie unerwünschte Quellwurzeln. Behalten Sie einen und fügen Sie src hinzu und testen Sie die Quellstämme in dieser Wurzel.
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.
Überprüfen Sie Ihre Modulabhängigkeiten.
IntelliJ hat Probleme beim Auflösen der Abhängigkeiten ... Versuchen Sie Folgendes:
Datei -> Caches ungültig machen/Restart AndBuildern Sie Ihr Projekt
Ich fand die folgende Antwort von @ jossef-harush und @ matt-leidholm nützlich von einem anderen Link
Integer
name__) und drücken Sie ALT + ENTER (oder klicken Sie auf das Glühlampensymbol)Setup JDK
aus dem Intentions-MenüConfigure
name__JDK
name__-Pfad falsch (auf /opt/jdk1.7.0_51
anstelle von /opt/jdk1.7.0_65
gezeigt)JDK
name__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.
src/main/Java
.net.gongmingqm10.sketch
.gradle wrapper
, gradle idea
, um das Gradle-Zeug für das Projekt zu erstellen.build.gradle
und gradle build
hinzu, und importieren Sie das Projekt erneut.User.Java
und School.Java
im vorhandenen Paket net.gongmingqm10.sketch
.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?.
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.
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.
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 :)
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.
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.
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.
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.
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.
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.
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 ...
@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:
Klicken Sie auf Hilfe -> Benutzerdefinierte Eigenschaften bearbeiten
Setzen Sie die Eigenschaft auf einen höheren Wert. Der Standardwert ist 2500 KB idea.max.intellisense.filesize=2500