Ich habe ein JDK 1.7-Projekt mit einer Maven-Abhängigkeit von einem lokalen JAR in meinem Maven-Repo.
Ich kann das Projekt nicht mit Intellij erstellen, da ein Symbol nicht gefunden werden kann (das Symbol ist eine Klasse, die Pakete aus dem lokalen JAR importiert).
Aber ich kann das Projekt erfolgreich mit 'mvn package' erstellen.
Ich habe so viel Zeit damit verbracht, nach Lösungen zu suchen, Dinge, die ich bereits getan habe:
- Ungültiger Cache
- 'mvn clean install' die lokale Glasabhängigkeit
- In Intellijs Maven-Konfiguration als "Snapshots automatisch laden" markiert
- Reimpoted Maven in Intellij
- Syncornisiert
Dieser Fehler ist mir schon ein paar Mal passiert, aber normalerweise hat es den Trick getan, nur den Intellij zu schließen und / oder die 'mvn-Neuinstallation' durchzuführen.
Bitte helfen Sie.
java
scala
maven
intellij-idea
Yarin Miran
quelle
quelle
Antworten:
Ich weiß, dass dies spät ist, aber die Ausführung
mvn idea:idea
löst das Problem.quelle
mvn idea:idea
wurde nicht auf dem neuesten Stand gehalten und wird nicht von Jetbrains gepflegtVersuchen Sie, alle .iml und Ihr POM zu löschen. Kopieren Sie dann Ihr POM und fügen Sie es erneut in Ihr Projekt ein. Öffnen Sie es erneut und importieren Sie es erneut.
quelle
*.iml
,*.ipr
und*.iws
Dateien aus dem Projekt - Stammverzeichnis, dann Intellij Wiedereröffnung regelte es für michIch habe herausgefunden, dass meine IML-Datei und mein POM in Konflikt stehen und das Problem verursachen.
quelle
C:\Users\USERNAME\.IntelliJIdea2017.2\system
. Danach habe ichgit clean -xdf
im Quellverzeichnis alle nicht versionierten Dateien entfernt und das Projekt erneut importiert. Funktioniert jetzt wie ein Zauber.Hinzufügen weiterer Tipps, da dies das erste war, was bei der Suche auftauchte, als ich ähnliche Probleme hatte (Projekt-Builds in MVN, nicht in IntelliJ), falls es jemand anderem helfen könnte.
Als ich das hatte, war es eine andere Lösung für Windows und Mac.
Auf dem Mac ging ich zu ItellijIDEA / Einstellungen / Erstellen, Ausführen, Bereitstellen / Erstellen von Tools / Maven / Maven-Basisverzeichnis und stellte ein, dass mein separat installierter Maven anstelle des mitgelieferten Maven verwendet wird. Alle Build-Probleme gingen weg.
Unter Windows wurden im idea.log Ausnahmen in Bezug auf SSL angezeigt, und in meinem Projektbaum befand sich nur Java im Zweig Externe Bibliotheken. Wenn man sich andere Sites ansieht, hört es sich so an, als würde IntelliJ anstelle des Systems ein eigenes privates JDK verwenden (obwohl in meinem Fall bereits genau dieselbe JDK-Version installiert war). Auf meinem System-JDK sind im Keystore Zertifikate für den Nexus-Unternehmensserver installiert, über die das private IntelliJ-JDK nicht verfügte. Daher wurden Ausnahmen ausgelöst, als versucht wurde, Dateien von Nexus abzurufen. Zu diesem Zweck bestand die Lösung darin, IntelliJ zu beenden, eine Umgebungsvariable namens IDEA_JDK festzulegen, die auf das bereits installierte JDK mit den richtigen Zertifikaten verweist, und IntelliJ neu zu starten. Alle Build-Probleme gingen weg.
quelle
Maven
ReImport
hat wie unten für mich gearbeitet ...quelle
IDE verwendet beim Erstellen eine eigene gebündelte Kopie von Maven. Wenn sich Maven am Terminal von IDE unterscheidet, möchten Sie, dass sie gleich sind.
GOTO (auf einem Mac) - IntelliJ Idea -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Erstellen von Tools -> Maven. Festlegen des Pfads für Ihr Maven-Basisverzeichnis Um den Pfad für Maven zu finden, den Sie vom Terminal aus verwenden, geben Sie den Befehl ein
mvn -version
, der eine Reihe von Details einschließlich des Verzeichnispfads ausdrucken soll. Legen Sie das in Maven Home Directory .Aus Sicherheitsgründen können Sie dies auch für den JDK-Standort tun
==== Einige andere Dinge, die solche Probleme verursachen können ===
Wenn Sie mvn-Pakete oder mvn-Neuinstallationen erstellen, muss dies etwas mit IDE-Caches zu tun haben. Unter anderem hilft dieser normalerweise bei solchen Fehlern ->
Datei -> Caches ungültig machen
quelle
Ich weiß, dass ich zu spät zu diesem Gespräch komme, wollte dies aber nur posten, falls jemand anderes auf dieses Problem stößt. Ein weiterer Grund dafür ist, dass Sie nicht auf das richtige Repository verweisen. Intellij übernimmt standardmäßig die gebündelte Version eines JARs anstelle der Version aus Ihrem eigenen Maven-Repository. Stellen Sie sicher, dass das verbundene Repository das richtige ist.
quelle
In meinem Fall war meine IML nicht synchron, daher habe ich die IML für das jeweilige Modul gelöscht und dann unter der Option Maven die Option unignore project ausgewählt, um die IML neu zu erstellen
quelle
Führen
mvn idea:idea
Sie an der Eingabeaufforderung den Befehl aus: und klicken Sie mit der rechten Maustaste auf das Projekt -> importieren Sie im Menü die Abhängigkeiten erneutquelle
"Symbol kann nicht gefunden werden" bedeutet, dass Intellij die "Abhängigkeit" nicht auflösen kann. Sie können also "Abhängigkeitsanalyse" erzwingen, indem Sie auf "Analysieren" -> "Abhängigkeiten analysieren" klicken und dann den "Analysebereich" auswählen.
quelle
Ich hatte das gleiche Problem. Gehe zu:
Datei -> Projektstruktur -> Modul . Wählen Sie Ihr Modul aus und stellen Sie auf der Registerkarte " Abhängigkeiten " sicher, dass alle Maven-Abhängigkeiten hinzugefügt wurden.
Um sicherzustellen, dass Sie im Ideeneditor vor einem ähnlichen Problem gewarnt werden: Wechseln Sie von "Registerkarte" Abhängigkeiten "zu" Quellen "und markieren Sie Ihren Quellcode als Quelle.
quelle
Ich hatte das gleiche Problem. Ich habe die Maven-Version in den Ideeneinstellungen von 3.0.5 auf 3.0.4 geändert und jetzt funktioniert alles einwandfrei. Ich weiß nicht, warum mir das hilft.
quelle
Viele wertvolle Tipps in den anderen Antworten hier möchten nur die Lösung hinzufügen, die für mein Problem funktioniert hat .
Wir haben vor kurzem begonnen, ein privates Maven-Repository zu verwenden, und tun dies immer,
mvn -s settings.xml
wenn wir die Maven-Cmdline aufrufen. IntelliJ kennt das private Repo natürlich nicht, daher braucht es ein wenig Hilfe.Gehen Sie zu Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Erstellen von Tools -> Maven und überschreiben Sie die Option "Benutzereinstellungsdatei".
quelle
Ich habe versucht, den Cache ungültig zu machen, den Maven auf die installierte Version zu ändern, und nichts hat funktioniert.
Das Schließen und Neuerstellen eines neuen Projekts hat das Problem behoben.
quelle
Ich habe das Projekt geschlossen und erneut importiert, indem ich auf den Root-POM geklickt habe (nicht nur auf den Ordner, sondern auch auf die POM-Datei selbst).
quelle
Ich habe alles oben ohne Freude versucht. Ich habe jedoch eine Sache getan, die es endlich zum Laufen gebracht hat:
Ich ging zu C: \ Users \ .IntellijJIdea2018.2 und löschte einfach den gesamten Ordner.
Es entfernt alle Einstellungen und den Cache für IntelliJ. Ich musste mein Projekt von Grund auf neu importieren, aber ein einfaches Entfernen und erneutes Importieren hatte vorher nicht funktioniert, aber dies brachte es schließlich wieder zum Laufen.
quelle
Wenn Sie gradle verwenden, versuchen Sie es mit dem folgenden Befehl. Dadurch wurde mein Problem behoben
gradle cleanIdea idea
quelle
Dieser einfache Vorgang dauert ca. 1 Minute ohne Risiko.
quelle
Löschen Sie den Ordner .idea und schließen Sie die IDE
Öffnen Sie die IDE erneut und importieren Sie das Projekt, das einen Neuimport ausführt, da der Ordner .IDEA von uns zuvor gelöscht wurde
Überprüfen Sie das Modul für externe Bibliotheken. Wenn es nicht mit den erforderlichen Abhängigkeiten gefüllt ist, überprüfen Sie, ob der Speicherort von maven settings.xml in der IDE korrekt angegeben ist
quelle
Es gibt auch eine Möglichkeit, die nicht erwähnt wurde. Wenn Sie eine Bibliothek aus importieren
com.sun.*
. Es wird auch dieses Problem verursachen.Programme funktionieren, wenn sie in ide ausgeführt werden, da sich diese Klassen
com.sun.*
alle imjre/lib
Verzeichnis befinden. Sie werden beim Ausführen geladen. Wenn Sie jedoch ausführenmvn package
, können Sie auf diese Bibliotheken nicht zugreifen, da Oracle seit Java 1.6 eingeschränkt ist (diese Bibliotheken waren in gewisser Weise veraltet). Um dieses Problem zu lösen, können Sie hinzufügenDenken Sie daran, den Cootclasspath durch Ihren eigenen Pfad von zu ersetzen
rt.jar
Sie können nach
Access restriction: The type XXX is not accessible due to restriction on required library
weiteren Details suchen .quelle
Wenn fehlerhafte Module konfiguriert sind, führen Sie diese Schritte aus:
quelle
quelle
In meinem Fall lag das Problem in einer anderen Project Java SDK-Version. Als ich ein Projekt vom Terminal aus erstellte, verwendete maven Java 8, und als ich von IDEA aus erstellte, verwendete es Java 11.
Gehen Sie zu Datei> Projektstruktur ... und stellen Sie in den Projekteinstellungen das Projekt-SDK auf die gewünschte Version ein.
quelle
Für mich bestand das Problem darin, dass ich den Ajc-Compiler in den IntelliJ Java Compiler-Einstellungen ausgewählt hatte . Nachdem ich es wieder in Javac geändert hatte, funktionierte alles einwandfrei .
quelle
Für mich auf dem Mac habe ich das Problem gelöst, indem ich die Intellij Idea-Anwendung von meinem Computer gelöscht und die Cache-Dateien in ~ / Library / Anwendungsunterstützung / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1 gelöscht habe
Dann installieren Sie es erneut, öffnen Sie mein Projekt und erstellen Sie es erfolgreich!
quelle
Ich bin auf das gleiche Problem gestoßen. Ich kann den
mvn clean package
Befehl erfolgreich im Terminal ausführen, kann ihn jedoch nicht ausführen oder aus IntellJ erstellen. Ich habe die folgenden Aktionen ausgeführt, aber alle sind fehlgeschlagen.mvn clean package
odermvn clean package
im Terminalmvn clean package
mvn idea:idea
Das Letzte, was ich getan habe: Löschen Sie die .idea und .iml im Projekt, löschen Sie alle Abhängigkeitsdateien und löschen Sie dann den IntellJ vom Computer. Nach der Neuinstallation von IntellJ wurde mein Projekt erfolgreich erstellt. Ich wünschte, ich könnte einen besseren Weg finden, dies zu lösen.
quelle