Warum so rot? IntelliJ scheint zu glauben, dass nicht jede Deklaration / Methode gefunden / aufgelöst werden kann

121

Ich habe gerade IntelliJ installiert und neu installiert. Jede Java-Datei wird ROT angezeigt. Ich habe das JDK überprüft. es ist bei 1.6. ##. Der maven clean installBuild hat gut funktioniert.

Ich erhalte die üblichen hervorgehobenen Fehler. Auf jeder Erklärung:

Das Symbol SomeEntityBean / Bean kann nicht aufgelöst werden

und zu jeder Methode:

Methode SomeFunction () kann nicht aufgelöst werden

Wie behebe ich diese falschen Fehler?

iCodeLikeImDrunk
quelle

Antworten:

196

IntelliJ wird manchmal von selbst verwirrt, auch ohne die von Korgen beschriebenen externen Änderungen (obwohl dies ein guter Weg ist, um es konsistent zu reproduzieren).

Klicken Sie auf Datei -> Synchronisieren , und IntelliJ sollte sehen, dass alles wieder in Ordnung ist.

Wenn dies nicht funktioniert, sind die Caches von IntelliJ möglicherweise beschädigt (dies geschah früher viel häufiger als heute). in diesem Fall regenerieren Sie sie durch

Klicken Sie auf Datei -> Caches ungültig machen und die IDE neu starten

(Das Laden des Projekts dauert jedoch eine Weile, während die Caches neu erstellt werden.)

Matt Leidholm
quelle
3
Danke dir. Sehr hilfreich. Ich habe 'Invalidate Caches' als letzten Ausweg verwendet und es hat funktioniert.
Oz Molaim
1
Caches ungültig machen -> IntelliJ Restart -> Syncronize hat bei mir funktioniert. Vielen Dank.
Emrahgunduz
hoffentlich können Sie irgendwann die lokale Geschichte ungültig machen und beibehalten?
ycomp
Hat meinen Tag gerettet. Danke Matt.
Ashish Singh
50

Ich habe dies erlebt, als ich mein JDK manuell aktualisiert und das vorherige JDK entfernt habe

Rote Schlüsselwörter

Lösung

  • Klicken Sie im IntelliJ-Editor auf das rote Schlüsselwort ( Integerzum Beispiel) und drücken Sie ALT+ ENTER(oder klicken Sie auf das Glühbirnen-Symbol).
  • Wählen Sie im Menü "Absichten" die Option "JDK einrichten"

IntelliJ Intentions-Menü

  • klicke auf Configure

Projekt SDK Auswahldialog

  • In meinem Fall war der JDK-Pfad falsch (auf /opt/jdk1.7.0_51statt gezeigt /opt/jdk1.7.0_65)

Unterbrochenes SDK-Dialogfeld konfigurieren

  • Klicken Sie auf ...und navigieren Sie zum rechten JDK-Pfad

Behoben: SDK-Dialogfeld konfigurieren

  • Leeren wir den Cache:

IntelliJ-Dateimenü

Und alles sollte wieder zum Leben erweckt werden :)

Keine roten Schlüsselwörter

Jossef Harush
quelle
wie man in mac
nil96
32

IntelliJ wird manchmal verwirrt, nachdem Maven-Projekte importiert und dann Poms extern geändert oder Quellen außerhalb von IntelliJ generiert wurden.

Möglicherweise möchten Sie einen Maven-> Force-Reimport aus Intellij im Projektstamm ausführen

Korgen
quelle
2
Seltsamerweise verursachte dies für mich tatsächlich eine "rote Alarmbedingung", die ungültige Caches anschließend löschte.
Barclay
4
wo ist "maven -> force reimport"? Wo ist die tatsächliche Einstellung / Option dafür?
Stealth Rabbi
@StealthRabbi Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle in der Projektstruktur und dann auf Maven> Reimport ...
Rodrigo Martins de Oliveira
Sie können auch Strg + Umschalt + A verwenden, "Reimport" eingeben und entweder "Reimport" oder "Reimport All Maven Projects" auswählen (im Zweifelsfall alle neu importieren).
Rodrigo Martins de Oliveira
7

Mein Problem wurde gelöst, indem ich jdk wie folgt auf Standard änderte . Open Jdk wurde installiert, aber ich weiß nicht, warum Intellij die Konfiguration auf Java-8-openjdk-amd64 gesetzt hat . Dies war das Problem. Ich habe auf Standard-Java geändert und keinen roten Fehler mehr.

Geben Sie hier die Bildbeschreibung ein

mnhmilu
quelle
7

In meinem Fall kamen Getter- und Setter-Abhängigkeiten über das Lombok-Plugin (Verwenden von Java mit Spring). Und in der neuen Installation von Intellij Idea hatte ich das Lombok-Plugin nicht installiert. Die Installation des Lombok-Plugins hat es für mich behoben.

Parantap Sharma
quelle
Dies hat das Problem für mich verursacht. Durch Annotation erzeugte Getter und Setter wurden von IntelliJ nicht verstanden. Danke für die Fehlerbehebung!
Rabowlen
5

Ich hatte das gleiche Problem, nachdem ich JDK in meiner pom.xml von 1.6 auf 1.7 geändert und die Einstellungen für Maven 3-Pfad + JDK-Projekte auf 1.7 gesetzt hatte.

Was es für mich getan hat war => Datei -> Caches ungültig machen und neu starten

PS: Das Problem ist erneut aufgetreten, daher habe ich das gesamte Projekt nach dem Löschen des .idea-Ordners erneut importiert und jetzt funktioniert es wie gewohnt :)

0x126
quelle
1
Ich habe all die niedrig hängenden Früchte durchgesehen und versucht, die Hervorhebung wieder zum Laufen zu bringen, und mit Ihrem Kommentar wurde mir klar, dass OSX mein 1.6 JDK in einem Update möglicherweise zerstört hat ... es hat funktioniert. Und es hat Java aus / System / Library in / Library verschoben. Danke fürs Schreiben.
Rwheadon
scheint nach dem Update auf 1.7 und der Update-Idee das Problem behoben zu haben. ist nicht wieder aufgetreten.
0x126
4

Überprüfen Sie, ob Sie in den IntelliJ-Eigenschaften über die richtige JVM-SDK-Einstellung verfügen. Wenn das Ungültigmachen des Cache und des Neustarts nicht ausreicht, überprüfen Sie, ob Sie das richtige JVM-SDK wie Java 1.7 verwenden.

Suchen Sie in: Einstellungen -> IDE-Einstellungen -> Scala -> JVM SDK

Oder klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Moduleinstellungen öffnen -> Projekteinstellungen -> Projekt -> Projekt-SDK -> (Auf Java 1.7 setzen)

Öffnen Sie die Moduleinstellungen -> Plattformeinstellungen -> SDKs -> (Stellen Sie sicher, dass Java 1.7 vorhanden ist, andernfalls müssen Sie es hinzufügen.)

Wenn Sie eine Änderung vorgenommen haben, ist es wahrscheinlich am besten, Invalidate Cache & Restart erneut auszuführen.

Peter Dietz
quelle
3

Dies ist der Fall, wenn Sie Java-Klassen in Rot sehen und die Fehlermeldung "Symbol kann nicht aufgelöst werden" erhalten .

Wenn Sie Projekte in IntelliJ importieren und keine der oben genannten Lösungen für Sie funktioniert hat, probieren Sie dies aus. Das hat bei mir funktioniert, als alles andere fehlgeschlagen ist.

Gehen Sie zu Ihrem Projektordner und benennen / löschen Sie den .idea- Ordner, der die Ideeneinstellungen für Ihr Projekt enthält. Dies wäre aus Ihrer alten IntelliJ-Version erstellt worden. Nachdem Sie den Ordner .idea umbenannt / gelöscht haben , importieren Sie Ihr Projekt in IntelliJ. Sie sollten jetzt keine Fehler für Ihre Java-Klassen sehen. Hoffe das hat geholfen.

Arthas
quelle
Dies ist das einzige, was nach dem Update von IntelliJ tatsächlich für mich funktioniert hat. Vielen Dank!
Wulftone
3

Wenn Sie immer noch diesen Fehler erhalten, haben Sie auch nach dem Ausprobieren aller anderen Vorschläge zu dieser Frage alle JDK-, Maven-Einstellungen überprüft, den Cache ungültig gemacht, Ihren Arbeitsbereich synchronisiert und neu gestartet, aber die Dinge funktionieren immer noch nicht Sie gehen dann in Ihr Projektverzeichnis und löschen den gesamten .ideaOrdner. Starten Sie Ihren IntelliJ neu. Alle Dateien unter .ideawerden neu erstellt, was die aktuelle Situation widerspiegelt.

Zumindest hat das bei mir funktioniert.

Schäfer
quelle
Ich habe auch alles versucht und nichts hat funktioniert. Zuletzt habe ich eine Sicherungskopie des .idea-Ordners erstellt -> gelöscht -> das Projekt erneut geöffnet -> geschlossen -> die .idea zurückgesetzt -> erneut geöffnet. Ich denke für mich, dass einige zwischengespeicherte Dateien nicht früher gelöscht wurden.
Vibha
2

Ich habe IntelliJ IDEA 12.x auf dem Mac und verwende Maven 3 und bekomme die rote Markierung über meinem Code, obwohl der Maven-Build in Ordnung ist. Keiner der oben genannten Punkte (Neuindizierung, Force-Import usw.) hat bei mir funktioniert. Ich musste folgendes tun:

Intellij -> Preferences -> Maven -> Importing
    [ ] Use Maven3 to import projects

Ich muss die Maven3-Importoption aktivieren und das behebt das Problem.

Pastafari
quelle
Ich habe zum gewechselt Maven 2und kehre dann zum zurück Maven 3. Diese Schritte haben anscheinend das Problem für mich gelöst.
Chaklader Asfak Arefe
2

Noch eine Lösung! Eine der Lösungen, die das Klicken vorschlug, Alt Enterhatte nicht das Setup-JDK für mich, sondern Add ... to classpathfunktionierte.

NSonmez
quelle
1

Ich hatte das gleiche Problem.

In meinem Fall lag das Problem bei Maven home directoryund user settings filein den Intellij-Einstellungen unter Maven. Ich hatte Maven nicht im Standardverzeichnis installiert und auch den Speicherort der settings.xmlDatei geändert . Dies sollte auch in den IntelliJ-Einstellungen geändert werden.

Hoffe das hilft auch.

Elio
quelle
0

Ich habe versucht, alle oben genannten Ratschläge zu verwenden, aber leider hat mir niemand geholfen. Also habe ich mich endlich entschlossen, meinen Intelij-Arbeitsbereich zu löschen und den neuen zu erstellen - es hat geholfen :) Aber früher habe ich auch den Cache gesäubert, Maven-Projekte erneut importiert, Projekte bereinigt und neu erstellt.

Marcin Erbel
quelle
0

Ich hatte das gleiche Problem und nachdem ich alle oben genannten Vorschläge ausprobiert hatte, stellte sich heraus, dass meine IntelliJ-Installation meine JAVA_HOME-Systemvariable nicht erfasst hatte und kein SDK / JDK festgelegt war.

Ich habe das Problem mithilfe der folgenden Anweisungen behoben: Konfigurieren von globalen, Projekt- und Modul-SDKs

vphilipov
quelle
0

Das Problem war, dass die Datei, die ich importieren wollte, so groß war, dass IntelliJ keine CodeInsights darauf ausführen würde.

Das Festlegen der idea.max.intellisense.filesizeOption auf einen höheren Wert gemäß den Anweisungen in dieser Antwort hat mein Problem behoben.

ecnepsnai
quelle
0

Ich hatte das gleiche Problem, bei dem ich JDK 1.9 mit IntelliJ 14 verwendet habe. Ich habe die Neuinstallation von Java mit der neuesten Version von JDK 1.8 (in diesem Fall 1.8.0_161) gelöst.

Ich habe auch die Version 1.9 aus entfernt

HKEY_CURRENT_USER \ Software \ JavaSoft \ JRE \ Security Baseline

Sam
quelle
0

Ich hatte das gleiche Problem, was es für mich behoben hat, war:

Gehe zu File>Setting>Maven, ich stelle das Maven-Ausgangsverzeichnis, die Einstellungsdatei und das lokale Repo ein.

Gehen Sie zu Maven Projects und klicken Sie auf Reimport All Maven Projects

Geben Sie hier die Bildbeschreibung ein

Das hat es geschafft!

Mohith Maratt
quelle
0

Ich hatte dieses Problem bei einer Neuinstallation von IDEA. Ich dachte, es hätte ein eigenes JDK mitgebracht oder könnte das bereits auf dem Computer befindliche finden, aber anscheinend nicht (nicht sicher, was das Kontrollkästchen im Installationsdialog jetzt tat). Als ich auf die Glühbirne klickte und auf die Schaltfläche "JDK einrichten" und dann auf "Konfigurieren" klickte, stellte sich heraus, dass versucht wurde, das JDK abzurufen

C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1\jre64

Ich habe mich umgesehen und ein paar Ordner im JetBrains-Baum ausprobiert, aber zumindest war der Dialog so intelligent, dass ich keine (einschließlich des Originals) anwenden konnte, da es sich nicht um gültige Speicherorte für ein JDK handelte. Also habe ich zum Java-Baum gewechselt und das versucht, und er hat Folgendes akzeptiert:

C:\Program Files\Java\jdk1.8.0_40

Nachdem ich die Konfiguration überprüft hatte, schien sie nicht funktioniert zu haben. Also habe ich versucht, den IDEA-Cache ungültig zu machen und neu zu starten (wie in anderen Antworten beschrieben), und es wurde mir mitgeteilt, dass Hintergrundaufgaben ausgeführt wurden. Also habe ich die Ungültigmachung abgebrochen, und während ich das tat, wurde die Neukompilierung oder Datenbankaktualisierung abgeschlossen, und das gesamte Rot im Bearbeitungsfenster verschwand. Es dauert also (mindestens) einige Sekunden, bis sich die JDK-Konfiguration beruhigt hat.

Blair Houghton
quelle
0

Versuchen Sie, die .IntelliJIdea15 (abhängig von der Version) aus C: \ Users \ Username zu löschen

Wenn Sie IntelliJ starten, wird der Ordner erneut erstellt.

Sudeep
quelle
0

Eine weitere Lösung für IntelliJ Ultimate 2018.2

  • Bewegen Sie den Mauszeiger über den rot markierten Import
  • Wählen Sie den Dropdown-Pfeil im Popup links (unten).
  • Wählen Sie "Bibliothek hinzufügen ... zum Klassenpfad".

Geben Sie hier die Bildbeschreibung ein

Suren Konathala
quelle
0

Gelöst durch "Alle Gradle-Projekte aktualisieren"

AlexPes
quelle
0

Ich konnte keine dieser Lösungen für mich arbeiten lassen. Ich musste manuell zu jeder Methode / Klasse gehen, bei der der Fehler aufgetreten ist, und sie manuell importieren. Danach war alles in Ordnung.

Sowjetisches Frontier
quelle
0

Bei Verwendung von IntelliJ 2019.3 und eines Gradle-Projekts, das von meinem eigenen Gradle-Projekt abhängig ist, war das einzige, was es für mich behoben hat, Reimport All Gradle Projectsunter View -> Tool Windows -> Gradle(und Schaltfläche "Aktualisieren").

Bevor ich versuchte, IDE neu zu starten, versuchte ich "Caches ungültig machen und neu starten", ich versuchte das Projekt neu zu erstellen, und es half auch nicht.

Sajjon
quelle
0

Ich habe das gleiche Problem, wenn die Intellij-Version aktualisiert wird. Es wurde für mich gelöst, indem ich einen alten Maven als den mit dem neuen Intellij gebündelten verwendete.

Vishal T.
quelle
0

Ich habe den größten Teil des Tages damit verbracht, alle Lösungen hier auszuprobieren, aber nichts schien zu funktionieren. Das einzige, was für mich funktioniert hat, war, IntelliJ vollständig zu deinstallieren und erneut zu installieren. Wenn ich jedoch IntelliJ aus dem Anwendungsordner löschte, trat das Problem für mich auf, sobald ich es erneut installierte. Was ich schließlich tun musste, war App Cleaner zu verwenden, um IntelliJ und alle Konfigurations- und Einstellungsdateien vollständig zu entfernen. Nachdem ich das getan und dann IntelliJ neu installiert hatte, war das Problem endlich behoben. Siehe So deinstallieren Sie IntelliJ auf einem Mac

Ross Mills
quelle
0

Für die Ultimate Edition 2020.1.4 musste ich Folgendes tun

View -> Maven -> Generate Sources and Update Folders For all Projects

Das Problem für mich war, dass die Bibliotheken nicht mvn -U clean installvom Terminal aus gefüllt wurden.

Geben Sie hier die Bildbeschreibung ein

user1599755
quelle
0

Versucht, den Cache ungültig zu machen, das Projekt erneut zu importieren, zu integriertem Maven zu wechseln, den Ordner .m2 und seine Teile zu entfernen - nichts hat funktioniert. Nachdem ich Maven komplett kaputt gemacht hatte (während es das Projekt zuvor erfolgreich erstellt hatte, konnte es jetzt nicht mehr), musste ich es von Grund auf neu installieren. Es half!

Katia Savina
quelle