it-swarm.com.de

IntelliJ-Überprüfung gibt "Symbol kann nicht aufgelöst werden", kompiliert jedoch weiterhin Code

Plattform: IntelliJ Community Edition 10.0.3
SDK: jdk1.6.0_21
Betriebssystem: Windows 7

Ich habe also eine merkwürdige Situation mit IntelliJ, die mich völlig verblüfft hat. Ich richte ein Maven-Projekt ein und füge log4j als Abhängigkeit in der Datei pom.xml hinzu. Die IDEA -Inspektionen werden ordnungsgemäß ausgeführt, und meine Unit-Tests werden alle kompiliert und ausgeführt.

Ich habe dann die jmime-Bibliothek von hunnysoft zu meinem lokalen Maven-Repository hinzugefügt, indem Sie die mvn install: install-Datei wie folgt verwenden.

mvn install:install-file -Dfile=jmime.jar -DgroupId=jmime \
-DartifactId=jmime -Dversion=3.1.1e -Dpackaging=jar

Maven installierte die JAR-Datei einfach in meinem lokalen Repository.

Ich ging dann zu IntelliJs Einstellungen => Maven => Repository Services und aktualisierte mein lokales Repository (damit IntelliJ den Inhalt des Repositorys neu indexiert).

Schließlich fügte ich meiner pom.xml-Datei die folgende Abhängigkeit hinzu (direkt über der log4j-Abhängigkeit).

<dependency>
    <groupId>jmime</groupId>
    <artifactId>jmime</artifactId>
    <version>3.1.1e</version>
</dependency>

Ich erstelle jetzt eine neue Klasse wie folgt:

package com.stackoverflow.question;

import org.Apache.log4j.Logger;
import com.hunnysoft.jmime.ByteString;
import com.hunnysoft.jmime.Field;
import com.hunnysoft.jmime.FieldBody;

public class StackOverflowQuestion {
    public Field create(String name, String text) {
        Logger.getLogger(getClass()).debug("create entered");
        FieldBody body = new FieldBody();
        body.setText(new ByteString(text));
        Field field = new Field();
        field.setFieldName(name);
        field.setFieldBody(body);
        return field;
    }
}

Nun zur Seltsamkeit. Der IntelliJ-Intention-Mechanismus greift den Logger-Import in der Maven-Pom-Datei auf und erkennt diesen. Für alle hunnysoft-Importe wird jedoch Folgendes berichtet: "Symbol 'ByteString/Field/FieldBody' kann nicht aufgelöst werden",ABERBuild => Compilieren 'StackOverflowQuestion.Java' kompiliert alles korrekt und den Komponententest, den ich erstellt habe Diese Klasse läuft gut (obwohl die Intentionen den Aufruf von create () auch als Problembereich kennzeichnen).

Irgendwie ignoriert IntelliJ die Datei jmime.jar für das Intention-Subsystem. Ich bin verwirrt, weil die log4j-Abhängigkeit gut funktioniert und alles kompiliert und gut läuft. F12 ("Go To Declaration") arbeitet mit dem Logger-Import, bricht jedoch bei allen jmime-Importen.

Oh, noch etwas, wenn ich im Fenster "Projekte" zur Ansicht "Pakete" gehe, wird das Paket "com.hunnysoft.jmime" angezeigt, und ich kann ALLE Klassen, die ich im obigen Codefragment importiert habe, unter "Bibliotheken" sehen. . Wenn Sie die obige Abhängigkeit aus der Datei pom.xml entfernen, verschwindet dieses Paket und die Kompilierung bricht ab.

Es scheint, dass der Klassenpfad der Inspektion unterbrochen ist, aber es scheint keine Einstellung dafür in den Einstellungen zu geben => Absichten | Compiler-Bereiche (nicht, dass ich solche Einstellungen erwartet habe, ich glaube, dass IDEA bereits den korrekten Klassenpfad kennen sollte, der auf der POM-Datei und dem JDK basiert).

Als abschließendes Experiment habe ich ein brandneues Standard-J2SE-Anwendungsprojekt (ohne Verwendung von maven) erstellt und die Datei jmime.jar direkt als eine seiner Bibliotheken zum Projekt hinzugefügt. Ich habe genau die gleichen Probleme wie oben in diesem neuen Projekt beschrieben.

Hier ist die MANIFEST.MF aus der Jmime-JAR-Datei.

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.4
Created-By: 10.0-b23 (Sun Microsystems Inc.)

Name: com/hunnysoft/jmime/
Sealed: true
Specification-Title: Hunny JMIME
Specification-Version: 3.1.1
Specification-Vendor: Hunny Software, Inc.
Implementation-Title: com.hunnysoft.jmime
Implementation-Version: 3.1.1E
Implementation-Vendor: Hunny Software, Inc.

Ich sehe nichts Ungewöhnliches in dieser Jar-Datei.

Meine beste Vermutung ist, dass das Problem möglicherweise ein fehlendes Abhängigkeitsproblem ist. Aber AFAIK Jmime soll in sich abgeschlossen sein (JarAnalyzer hat nichts vor, aber ich bin mir nicht sicher, ob es ein Abhängigkeitsgefäß geben würde).

Also, hat jemand irgendwelche Ideen?

443
Kevin Sitze

Zuerst sollten Sie File | Invalidate Caches ausprobieren. Falls dies nicht hilft, löschen Sie IDEA - Systemverzeichnis . Importieren Sie anschließend das Maven-Projekt erneut und prüfen Sie, ob es hilfreich ist.

In einigen seltsamen Fällen können kompilierte Klassen falsche Informationen melden und IDEA verwirren. Vergewissern Sie sich, dass die Klassen aus diesem Glas mithilfe von javap die korrekten Namen melden.

803
CrazyCoder

Der folgende Trick hat dieses Problem für mich gelöst: 

  • Klicken Sie mit der rechten Maustaste auf den Code-Editor
  • Schweben Sie auf Maven und erweitern Sie
  • Klicken Sie auf Reimport

Meine Ideenversion ist 12.0.4

87
rshahriar

Für Gradle-Benutzer:

Möglicherweise müssen Sie Ihr Projekt mit Ihrer build.gradle-Datei synchronisieren. 

Sie können mit der rechten Maustaste auf Ihre Gradle-Datei im Projektfenster klicken, um dies zu tun, aber das schien nichts für mich getan zu haben (ich vermute, dass in meiner Version ein Fehler vorliegt). Sie wissen, ob dies der Fall ist, weil dadurch keine IntelliJ-Aufgaben ausgelöst werden, auf die Sie warten werden. Öffnen Sie stattdessen den Gradle-Toolbereich und klicken Sie auf die Schaltfläche zum Synchronisieren (Aktualisieren). Dies funktionierte für mich, wenn das Leeren des Cache und das Neustarten nicht durchgeführt wurden.

Mein eigener Umstand: Ich habe mit Gradle ein Scala-Projekt verwendet und musste das tun.

24
bbarker

Ein zusätzlicher Schritt, wenn ich File -> Invalidate Caches und die IDE neu gestartet habe, ein Projekt öffnen. In der oberen rechten Ecke wurde eine Toastbox angezeigt, in der Sie gefragt wurden, ob der Auto-Import aktiviert werden soll.

19
Matthew Chen

Keine der oben genannten Lösungen hat für mich funktioniert. Was war das Entfernen der Datei main.iml manuell und es hat plötzlich funktioniert.

18
cerisier

Dies wurde in einer anderen Antwort auf dieselbe Frage hier erwähnt, aber dies allein fixiert das für mich. Ich mache alle meine Builds in einem separaten Terminal außerhalb von IntelliJ. Der Cache muss also über die richtigen Berechtigungen verfügen, damit die IntelliJ-App sie lesen kann.

Führen Sie es aus dem Stammordner des Projekts aus. 

$ mvn -U idea:idea
13
Tom

Eine andere Sache, die Sie überprüfen sollten: Stellen Sie sicher, dass Abhängigkeiten nicht doppelt vorhanden sind. In meinem Fall habe ich festgestellt, dass ein Modul, das dieses Verhalten aufweist, wie folgt falsch konfiguriert wurde: Es war von einem anderen Modul abhängig, und es hatte eine Abhängigkeit von einem Behälter, der von diesem anderen Modul erzeugt wurde. Dies bedeutete für jedes Symbol, das zweifach referenziert wurde, und war mehrdeutig.

11
Landon Kuhn

Wurde ein Fix veröffentlicht? Erscheint ursprünglich in Version 11/12 aufgrund einer "Compiler-Überarbeitung" im Jahr 2013. Mit Diskussionen zu verwandten Themen in Jira bis Ende 2014. http://youtrack.jetbrains.com/issue/IDEA-98425

Auch auf Jira wurde IDEA-98425 markiert behoben aber nicht verifiziert (auf v12.0.3). Keine der folgenden Abhilfemaßnahmen hat zur Lösung dieses Problems beigetragen "Symbol kann nicht aufgelöst werden" Problem mit Version 13.1.1 unter Windows

ein. Ordner löschen . IdealIC13 (dann Datei\Cache ungültig machen/neu starten)

b. Von Maven Projects Fenster,

b.1 mvn -U idea: idea -〉 Das Ausführen dieses Maven-Ziels setzt voraus, dass die Abhängigkeiten neu geladen werden. Dies funktioniert vorhin, aber seit dem letzten FRI ist die Ausführung dieses Maven-Ziels fehlgeschlagen, da versucht wurde, das Projekt neu zu kompilieren. mvn -version - Zeigt die Maven-Version 3.2.5 an und dass sie funktioniert

b.2 Einfach mit der rechten Maustaste auf das Projekt klicken und erneut importieren

b.3 Datei\ Cache ungültig machen/neu starten

c. Versucht, diese Einstellung zu aktivieren und zu deaktivieren: Datei -> Einstellungen -> Maven -> Importieren -> "Projekt mit maven3 importieren"

d. Settings\Maven\Multiproject Build Fail Policy = Fehler am Ende (anstelle von Default)

Nichts funktioniert. Was passiert mit dem IntelliJ-Support für Maven?.

https://youtrack.jetbrains.com/issue/IDEA-99302

Aus dem JetBeans-Versionsverlauf https://www.jetbrains.com/company/history.jsp

IntelliJ v14 NOV 2014

IntelliJ v13 DEC 2013

Ich würde davon ausgehen, dass v12 fixed (obwohl unbestätigt ) in nachfolgenden Releases enthalten sein würde. Hat jemand ähnliche Probleme mit welcher IntelliJ-Version? Bitte teilen Sie Ihre Erfahrungen. Die Unterstützung von IntelliJ Maven scheint defekt zu sein.

8
user3761555

Inkonsistente/doppelte Modulnamen in der Projektstruktur verursachten dieses Problem für mich.

  1. Gehe zu File -> Project Strucutre -> Modules
  2. Klicken Sie auf Module, die rot unterstrichen sind
  3. Wechseln Sie zur Registerkarte "Abhängigkeiten"
  4. Stellen Sie sicher, dass die Abhängigkeiten, die rot sind, tatsächlich in der Abhängigkeitsliste vorhanden sind. Wenn nicht, benennen Sie sie um, um sie mit den vorhandenen Abhängigkeitsnamen abzugleichen

Dies kann passieren, wenn IntelliJ nicht ordnungsgemäß heruntergefahren wird und umbenannte Modulnamen nicht ordnungsgemäß gespeichert werden können.

8

Ich hatte gerade dieses Problem und es würde einfach nicht verschwinden. Schließlich löschte ich das IntelliJ-Konfigurationsverzeichnis in ~ und baute mein IntelliJ-Projekt von Grund auf neu auf. (Dies hat am Ende nur etwa 15 Minuten gedauert, verglichen mit einer Stunde, um Probleme mit zwischengespeicherten Dateien usw. zu ermitteln.)

Ich vermute, dass das anfängliche Problem durch etwas wie javathings.blogspot.com/2009/11/too-many-open-files-in-intellij-idea.html (NB: ab 2018, dieser Link ist tot) verursacht wurde, aber archive.org hat eine Kopie der Seite aus der Zeit, als diese Antwort zum ersten Mal geschrieben wurde - ed.) oder ein Problem mit dem Festplattenspeicher/Speicher, der zum Absturz von Java führt. IntelliJ schien nur beschädigt zu werden.

3
mozboz

Meine Projektstruktur:

src -> main -> scala -> mypackages

Was hat funktioniert:

Klicken Sie mit der rechten Maustaste auf den Ordner scala und klicken Sie auf "Verzeichnis als Quellenstamm markieren".

3
axiom

Keiner der anderen antwortete für mich. Meine Importe wurden nicht behoben, da IntelliJ auf eine falsche .m2-Datei verwies.

IntelliJ-Version: IntelliJ-Idee 2018.1.5

Mein Speicherort für das Verzeichnis .m2 wurde auf den falschen Pfad angegeben. Alles, was ich zur Behebung dieses Problems tat, war, IntelliJ auf das richtige .m2-Verzeichnis zu verweisen und es zu aktualisieren.

Gehen Sie zuerst zu: Datei-> Einstellungen-> Erstellen, Ausführen, Bereitstellen-> Build-Tools-> Maven

Ich musste die User-Einstellungsdatei: und das Local-Repository: an den korrekten Ort meines .m2-Verzeichnisses ändern.

Danach gehen Sie zu: Datei-> Einstellungen-> Erstellen, Ausführen, Bereitstellen-> Build-Tools-> Maven-> Repositorys

und klicken Sie auf die Schaltfläche Aktualisieren.

3
Tim

Manchmal öffne ich einfach die Projektstruktur und klicke auf Projekt, dann wähle eine SDK-Version .

2
Arthur Wu

Wenn Ihr Maven-Projekt ein Multi-Modul-Projekt ist, prüfen Sie, ob einige Module von intellij ignoriert werden.

  1. Klicken Sie auf View -> Tool Windows -> Maven Projects und prüfen Sie, ob einige Module ignoriert werden (Ignorierte Module sind grau unterlegt, z. B. gs-multi-module in der folgenden Abbildung).

 enter image description here

  1. Klicken Sie mit der rechten Maustaste auf das ignorierte Modul und wählen Sie Unignore Projects.

 enter image description here

Warten Sie dann, bis die Indexierung von intellij abgeschlossen ist. Danach wird es funktionieren.

2
Searene

Für eine andere Alternative.

Dieses Problem bekam ich auch, als ich JDK7_07 verwendete. Ich habe alle Antworten hier ausprobiert (mit Ausnahme des Löschens des IDEA System Directory). Aber ich habe immer noch das Problem. Also was ich getan habe ist:

Installieren Sie das neueste JDK (es war JDK7_45), und setzen Sie das JDK der Intellij auf das neue. Es funktioniert.

2
ismailsunni

Das erneute Importieren des Projekts hat für mich funktioniert. Klicken Sie mit der rechten Maustaste auf Projekt -> Maven -> Reimport

wenn ich Datei -> Caches ungültig gemacht und die IDE neu gestartet habe, öffnen Sie ein Projekt. Es wurde oben rechts ein Dialogfeld "Maven-Änderungen erkannt" angezeigt und eine Option zum Importieren und Aktivieren des automatischen Imports wurde angezeigt. Selbst nachdem ich das Projekt hier importiert hatte, hatte ich das gleiche Problem. Der obige Schritt hat das Problem gelöst.

2
Sandeep

In meinem Fall versuche ich, ein Spring-Boot-Projekt von IntellijIdea zu öffnen, das gleiche Problem hatte wie der Import aller Federdaten.

Dann tat ich:

Datei -> Projekt schließen -> Projekt importieren -> Import aus externem Modell -> Gradle auswählen -> Weiter -> Projekt aus Dateispeicherort auswählen -> Fertig stellen

Jetzt klappt alles wie erwartet.

Ich habe hier viele Antworten gesehen, aber schließlich habe ich diese Lösung gefunden. Es kann für jemanden wie mich verwendet werden.

2
Shylendra Madda

Nachdem ich meinen Cache ungültig gemacht und neu gestartet habe; Nachdem ich bestätigt hatte, dass meine Maven-Einstellungen in Ordnung waren, sah ich immer noch das Symbol "Symbol nicht aufgelöst" für ein Modul, das ich definitiv als Abhängigkeit festgelegt hatte. Es stellte sich heraus, dass ich den falschen Bereich festgelegt hatte. 

Sie können dies überprüfen, indem Sie mit der rechten Maustaste auf Ihr Modul klicken und "Moduleinstellungen öffnen" auswählen. Klicken Sie auf die Registerkarte Abhängigkeit, und stellen Sie sicher, dass der Bereich für Ihre nicht auflösbare Abhängigkeit auf Kompilieren festgelegt ist. 

2
user3565334

In meinem Fall wird nur buildDir entfernt .. _ In diesem Fall funktioniert File | Invalidate Caches nicht.

Wenn ich Build | Make Project vor File | Invalidate Caches mache, funktioniert alles gut.

1
chiguri

Keine der oben genannten Lösungen hat es für mich gelöst. Ich hatte das gleiche Problem, wo der Code gut kompiliert wurde, aber IntelliJ zeigte, dass er den Import nicht finden konnte. Obwohl IntelliJ den Import in erster Linie von der Codeabwicklung aus vorgeschlagen hat. 

Meine Lösung bestand darin, alles in das Standardpaket zu verschieben, das com.foo.bar-Paket zu löschen, es dann erneut zu erstellen und alles zurückzuschieben. 

1
jmhage
  1. Einstellungen öffnen"
  2. Suche nach "Maven"
  3. Klicken Sie unter "Maven" auf "Ignorierte Dateien".
  4. Deaktivieren Sie die Markierung, dass die Dateien pom.xml die fehlenden Abhängigkeiten enthalten
  5. OK klicken"
  6. Klicken Sie auf Datei -> Caches ungültig machen/Neustart ...
  7. Klicken Sie auf "Ungültig machen und neu starten".
1
Koning

manchmal, wenn Sie ein Paket wie com.mydomain.something erstellen, wird die Verzeichnisstruktur wird nicht erstellt und Sie sind übrig mit einem einzigen Ordner benannt "com.mydomain.something" In diesem Fall sollten Sie eine Verzeichnisstruktur erstellen, z

com
|_mydomain
  |_something 
1
test0101

Entfernen Sie die: iml-Datei in Java und die Testordner im Projekt. 

Es wird gefragt, ob ich die Projekte entfernen kann. Ja setzen Der Fehler erlischt. 

1

Lösungsvorschläge funktionierten nicht. Ich musste unignore mehrere Projekte durch Rechtsklicken auf das pom => maven => unignore-Projekt.

Dann nach einem

mvn clean install -T 6 -DskipTests

in der Konsole war IntelliJ wieder glücklich. Keine Ahnung, wie die Projekte ignoriert wurden ...

1
Ronald Teune

Für Benutzer von Intellij Idea können diese Befehle vor dem Importieren eines Projekts hilfreich sein:

./gradlew build ./gradlew idee

1
Ivan Aracki

Für Gradle-Projekte:

  1. Beenden Sie IntelliJ IDEA
  2. Löschen Sie das Verzeichnis <problematic-project-root>/.idea
  3. Löschen Sie das Verzeichnis <problematic-project-root>/.gradle
  4. Löschen Sie alle .iml-Dateien in <problematic-project-root>
    • windows Eingabeaufforderung : DEL /S /Q *.iml
    • linux: find . | grep -e .iml$ | xargs rm
  5. Importieren Sie das Projekt erneut in IntelliJ IDEA mit Gradle
1
Eric

Ja, klingt, als müssten Sie Bibliotheken erstellen, die die benötigten JARs enthalten, und diese als Abhängigkeit in Ihrem Modul hinzufügen. 

1
duffymo

Ungültige Caches funktionierten für mich, aber nach dem Ausführen der Anwendung trat derselbe Fehler auf.

Also habe ich versucht ( Intellij ): 

1 - Menüleiste - Refactor | Build | Run | Werkzeuge - klicke Build dann Projekt neu erstellen

2 - MVN sauber

3 - Klicken Sie mit der rechten Maustaste auf Projekt> Maven> Quellen generieren und Ordner aktualisieren

Hoffe, das funktioniert für dich.

Vielen Dank

0
Djalas

mvn idea:idea arbeitete für mich. Fand es hier . Verbrachte mehr als eine Stunde, hoffe es hilft jemandem

0
nilesh

Was für mich funktionierte, war, das Verzeichnis, in dem sich die rot markierte Klasse befand, als Verzeichnis-Quell-Root zu markieren, nachdem die rote Markierung verschwunden war. Scheint, dass es aus irgendeinem Grund nicht markiert war.

0
DarkAngeL

 check import Maven projects automatically, fixed my issue

prüfen Sie, ob Maven-Projekte automatisch importiert werden, mein Problem wurde behoben. Ich habe zwei Stunden damit verbracht herauszufinden, wo ich falsch mache. Endlich konnte es behoben werden.

0
user3651854

Bei Idea 2017.1 + Gradle ist das Plugin irgendwie fehlerhaft. Versucht alles synchronisieren, ungültig machen + Neustart, nichts hat funktioniert. Laut https://github.com/gradle/gradle/issues/2315 hat dies für mich funktioniert: 1. Idee schließen 2. Geben Sie gradle idea in die Befehlszeile ein (sollte 3 Dateien generieren: .iml, .ipr, .iws) 3. Führen Sie idea aus und öffnen Sie die erstellte Datei .ipr. Dies sollte Ihr Projekt von Grund auf neu importieren, mit fest verdrahteten Abhängigkeiten in diesen 3 Dateien

0
Bechyňák Petr

In meinem Fall trat dieses Problem auf, nachdem ich eine große Umstrukturierung der Dateien in meinem Maven-Projekt überprüft hatte. Zum Zeitpunkt des Check-Outs waren einige meiner eigenen Änderungen noch aktiv. Soweit ich das beurteilen konnte, wurden keine Änderungen an den Dateien vorgenommen.

Das Ungültigmachen des Cache und das Neustarten funktionierten nicht für mich ... Was hat funktioniert?

  • wiederherstellen der Änderungen, die ich vor der großen Umstrukturierungskasse vorgenommen hatte
  • importieren aller Maven-Module
0
Joman68

wenn das Maven-Projekt dann einfach zu Einstellungen -> Build-Tools -> Maven -> Importieren ... führt, aktivieren Sie das Kontrollkästchen "Maven-Projekt automatisch importieren". Das Problem wird dadurch gelöst.

0
Johnny Martin

Wenn nichts klappt, klicken Sie mit der rechten Maustaste auf das Quellverzeichnis, markieren Sie das Verzeichnis als "Quellverzeichnis" und klicken Sie mit der rechten Maustaste auf das Projektverzeichnis und dann auf maven -> re-import. 

das löste mein Problem. 

0
Hari Krishnan

Für MAVEN

Ich habe alle oben genannten Methoden ausprobiert, konnte aber keine Lösung finden. 

Im Folgenden sind die Schritte, die ich ausprobiert habe (eine Mischung aus einigen Lösungen),

  1. mvn sauber

  2. mvn idee: sauber

  3. Cache ungültig machen und neu starten
  4. Entfernen Sie alle zusätzlichen .iml-Dateien, die Sie in der Projektstruktur sehen.
  5. Führen Sie im Stammverzeichnis Ihres Projekts mvn idea: idea und mvn clean install aus, um alle Abhängigkeiten Ihres Maven-Projekts erneut zu importieren.

(Stellen Sie sicher, dass Sie keine zusätzlichen .iml-Dateien außer den .iml-Dateien für Projekte/Unterprojekte haben.)

0
Aakash Parashar

Wenn alle meine pom.xml-Dateien korrekt konfiguriert sind und ich immer noch Probleme mit Maven in IntelliJ habe, mache ich die folgenden Schritte

  1. Lesen Sie, wie Sie in letzter Zeit Maven in IntelliJ verwenden können
  2. Stellen Sie sicher, dass IntelliJ für die Verwendung von Bundled Maven 3 konfiguriert ist
  3. Find und TERMINATE tatsächlicher Java-Prozess, der die Maven 3-Repos-Indizierung für IntelliJ ausführt (die Beendigung kann ausgeführt werden, während IntelliJ ausgeführt wird). Falls Probleme mit Indizes oder Abhängigkeiten nicht verfügbar sind (Gedankenrepositorys wurden in pom.xml konfiguriert).
  4. Forced Update für alle Repositorys in "IntelliJ/Settings/Build Tools/Maven/Repositorys". Nimmt meistens Speicherplatz und Bandbreite in Anspruch! Es dauerte mehr als 20 Minuten, um den Index für das zentrale Repo von Maven zu aktualisieren.
  5. Klicken Sie erneut auf Alle Maven-Projekte erneut von IntelliJ importieren
  6. Wenn Sie über mehrere Repositorys und ein komplexes Projekt verfügen, sollten Sie die Schritte 1 bis 4 ausführen, um IntelliJ und seine Java-Dämpfungsprozesse über Nacht laufen zu lassen, sodass Sie für den nächsten Tag alles synchron haben. Theoretisch können Sie alle gängigen indizierten Repos verwenden und das Index-Update für alle Repos gleichzeitig starten (ich nehme an, IntelliJ erstellt eine Warteschlange und führt nacheinander Updates aus). Dann kann es Stunden dauern (das wird der Fall sein) Heap-Speicherplatz muss ebenfalls vergrößert werden).

PS: Ich habe Stunden gebraucht, um zu verstehen (Schritt 3), dass der Java-Dämon-Prozess von IntelliJ, der die Aktualisierung des Maven-Indexes übernimmt, etwas falsch gemacht hat, und ich muss einfach IntelliJ dazu bringen, es von vorne zu beginnen. Problem wurde gelöst, ohne IntelliJ selbst neu zu starten.

0

"Datei -> Cache ungültig machen und neu starten" löst alle Abhängigkeiten auf.

0
Kishore Bhosale

Der Vorschlag Nr. 1 zum Ungültigmachen von Caches/Neustarts ... funktionierte bei mir nicht und auch bei keiner der anderen Lösungen. Es stellte sich heraus, dass meine Maven-Repos falsch eingerichtet waren. Ich habe dies behoben, indem ich die settings.xml und das Repository-Verzeichnis manuell überschrieb:

Datei -> Einstellungen ... -> Erstellung, Ausführung, Bereitstellung -> Erstellungstools -> Maven

Überprüfen Sie dann für Benutzereinstellungsdatei und Lokales Repository Überschreiben und verweisen Sie auf das richtige Verzeichnis settings.xml und repository.

0
Richard Vu

Ich hatte ein ähnliches Problem, als ich zu einem neuen Computer wechselte. 

Ich habe alle IDEA -Dateien kopiert (sogar die zugehörigen% APPDATA% -Ordner), aber der Maven-Build war erfolgreich, aber IDEA fand beim Erstellen keine Klassen aus den Abhängigkeiten.

Die Lösung: Ich habe mit einem neuen und sauberen IDEA - Profil angefangen, indem ich die Ordner aus den% APPDATA% -Ordnern entfernte

0
Ben

Gehen Sie zu Datei-> Projektstruktur -> SDKs und prüfen Sie, ob Ihr SDK-Dateipfad korrekt ist.

0
Arvand

Was hat mir geholfen, dieses Problem zu lösen:

Ich hatte einen anderen Zweig, habe zu diesem Zweig gewechselt und das Projekt mit mvn clean install erstellt. Alles war in Ordnung, wechselte dann wieder zum Master und baute das Projekt erneut auf und die Fehler verschwanden. Caches ungültig machen und Neustart hat mir nicht geholfen.

0
nolazem

Oder vielleicht ist die Datei, die Sie importieren, zu groß. Dies ist mein Fall, wenn Sie die Intellij-Eigenschaft ändern: iead.max.intellisen.filesize (Pfad ist $ {idea dir} /bin/idea.properties) auf einen höheren Wert, wie 25000, und starten Sie die IDE neu, das Problem ist verschwunden. Hoffe das hilft.

0
Chaojun Zhong

Hatte Probleme beim Importieren von Standard-Java-Bibliotheken wie Java.beans. *

Es wurde auf meinem Redhat 7-System behoben, indem es auf den richtigen JRE-Pfad gerichtet wurde.

Datei-> Projektstruktur-> SDKs-> 1.8 'JDK-Home-Pfad:' wurde in /usr/lib/jvm/Java-1.8.0-openjdk-1.8.0161-2.b14.el7.x86_64 statt/geändert. usr/lib/jvm/Java-1.8.0-openjdk-1.8.0161-2.b14.el7_4.x86_64

Der frühere Pfad zu jdk (mit dem _4 Unterschied im Pfad) enthielt kaum etwas. Es fehlten viele Java-Bibliotheken.

0
mastash3ff

Dies scheint mir meistens zu passieren, wenn das Abhängigkeitsglas auch ein Fettglas ist. Glücklicherweise hatte ich die Kontrolle über den Bau des Fat Jar, nachdem ich es zu einem Non Fat Jar gemacht hatte, funktionierten die Dinge einfach. Keine der anderen Korrekturen an den Antworten oder Kommentaren hier hat für mich funktioniert. Wahrscheinlich ist auch bemerkenswert, dass mein Code in Kotlin war und das Fat Jar auch einige Kotlin-Abhängigkeiten bündelte.

0
Piacenti