Ich habe eine kleine Frage zu IntelliJ IDEA 11. Ich habe gerade ein Projekt aus Subversion importiert - es ist ein Maven-Projekt. Aber ich habe ein Problem mit Maven-Bibliotheksabhängigkeiten, so dass ich nicht alle Maven-Abhängigkeiten automatisch einschließen kann - IDEA zeigt Abhängigkeitsfehler nur an, wenn ich diese Klasse öffne / Das bekomme ich hier:
Ich möchte also, dass alle Abhängigkeiten automatisch hinzugefügt werden - ist das möglich oder muss ich alle Klassendateien durchgehen, um Maven-Abhängigkeiten zu identifizieren und hinzuzufügen?!
UPDATE: Nach einigen Änderungen habe ich herausgefunden, wie ich mein Problem auf irgendeine Weise lösen kann. Das ist, was ich tat:
aber ich denke logischerweise wird es keine neuen Abhängigkeiten im Voraus enthalten und prüfen ?! ... Gibt es einen Einstellungsbereich dafür in IntelliJ - Auto-Export-Abhängigkeiten in Klassenpfad ?!
quelle
Antworten:
IntelliJ sollte alle Ihre Abhängigkeiten automatisch herunterladen und zum Klassenpfad des Projekts hinzufügen, solange Ihr POM kompatibel ist und alle Abhängigkeiten verfügbar sind.
Beim Importieren von Maven-Projekten in IntelliJ werden Sie normalerweise in einem Informationsfeld gefragt, ob Sie den automatischen Import für Maven-Projekte konfigurieren möchten . Das heißt, wenn Sie Änderungen an Ihrem POM vornehmen, werden diese Änderungen automatisch geladen.
Sie können diese Funktion unter Datei> Einstellungen> Maven> Importieren aktivieren. Es gibt ein Kontrollkästchen mit der Aufschrift "Maven-Projekte automatisch importieren".
Wenn das nicht hilft, würde ich vorschlagen, eine vollständige Bereinigung durchzuführen und erneut zu beginnen:
*.iml
Dateien und.idea
Ordner (es sollte eine pro Modul geben).mvn clean install
über die Befehlszeile ausIntelliJ 2016 Update :
Die Einstellung " Maven-Projekte automatisch importieren" wurde in Ihren IntelliJ- Einstellungen in " Erstellen", "Ausführen", "Bereitstellen"> "Build-Tools"> "Maven"> "Importieren" verschoben .
quelle
Fix vor IntelliJ 14
Datei [Menü] -> Einstellungen -> Maven -> Importieren und deaktivieren Sie "Verwenden Sie Maven3 zum Importieren eines Projekts".
Ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (die möglicherweise auch einige andere Ideen haben)
Fix IntelliJ 15+
Ich bin erneut darauf gestoßen, diesmal mit IntelliJ 15, für das keine Option "Maven3 zum Importieren verwenden" mehr verfügbar ist. Die Ursache war , dass manchmal IntelliJ „nicht Parse Abhängigkeiten maven rechts“ und wenn es nicht Parse einer von ihnen kann richtig, es gibt auf bis alle von ihnen, offenbar. Sie können feststellen, ob dies der Fall ist, indem Sie das Werkzeugfenster für Maven-Projekte öffnen (Menü Ansicht -> Werkzeugfenster -> Maven-Projekte). Erweitern Sie dann eines Ihrer Maven-Projekte und seine Abhängigkeiten. Wenn die Abhängigkeiten alle rot unterstrichen sind, "Houston, wir haben ein Problem".
Sie können den tatsächlichen Fehler tatsächlich erkennen, indem Sie mit der Maus über den Projektnamen selbst fahren.
In meinem Fall stand "Probleme: Keine Versionen für XXX verfügbar" oder "Deskriptor für Artefakt org.xy.z konnte nicht gelesen werden", Ref: https://youtrack.jetbrains.com/issue/IDEA-128846 und https: // youtrack.jetbrains.com/issue/IDEA-152555
Es scheint, dass ich es in diesem Fall mit einem Glas zu tun hatte, dem keine POM-Datei zugeordnet war (in unserem Maven Nexus Repo und auch in meinem lokalen Repository). Wenn dies auch Ihr Problem ist: "Aktuelle Problemumgehung: Wenn Sie in Ihrem eigenen Code keine Klassen aus diesem JAR verwenden müssen (z. B. nur eine transitive Maven-Abhängigkeit), können Sie es tatsächlich aus dem POM herauskommentieren (vorübergehend), Maven-Projekt neu laden und dann auskommentieren. Irgendwie "merkt" sich IntelliJ nach diesem Punkt seine alten Arbeitsabhängigkeiten. Das vorübergehende Hinzufügen eines Maven-Transitiv-Ausschlusses kann dies auch tun, wenn Sie aus einer transitiven Abhängigkeitskette darauf stoßen. ""
Eine andere Sache, die helfen könnte, ist die Verwendung einer "neueren Version" von maven als der mitgelieferten Version 3.0.5. Um es so einzurichten, dass es als Standard verwendet wird, schließen Sie alle Ihre Intellij-Fenster, öffnen Sie die Einstellungen -> Erstellen, Ausführen und Bereitstellen -> Erstellen von Tools -> Maven und ändern Sie das Maven-Ausgangsverzeichnis. Es sollte "Für Standard" lauten Projekt "oben, wenn Sie dies anpassen, obwohl Sie es auch für ein bestimmtes Projekt anpassen können, solange Sie nach dem Anpassen" neu importieren ".
Caches löschen
Löschen Sie Ihre Intellij-Cache-Ordner (Fenster: HOMEPATH /. {IntellijIdea, IdeaC} XXX Linux ~ / .IdeaIC15) und / oder deinstallieren und installieren Sie IntelliJ selbst. Dies kann auch über Datei [Menü] -> erfolgen
Invalidate Caches / Restart...
. Klicken Sie aufinvalidate and restart
. Dadurch wird Ihr gesamtes Projekt neu indiziert und viele schwer nachvollziehbare Probleme mit IntelliJ gelöst.quelle
Maven home directory
Version, die unser Stack verwendet (3.3.9), behoben.maven home directory
vonBundle (Maven 3)
zu dem Pfad, auf dem mein Maven installiert ist,.../maven/3.6.1/libexec
hat für mich funktioniertWählen Sie beim Importieren des Projekts
pom.xml
anstelle des Projektverzeichnisses. Es sollte funktionieren.quelle
Versuchen Sie, das Projekt über das Bedienfeld „Maven-Projekte“ in IntelliJ IDEA erneut zu importieren. Es sollte
pom.xml
automatisch alle in Ihrem Programm definierten Abhängigkeiten herunterladen und konfigurieren .Wenn der Download von IDEA aus irgendeinem Grund nicht funktioniert, versuchen Sie es
mvn install
über die Befehlszeile und prüfen Sie, ob die Abhängigkeiten abgerufen werden können.Natürlich müssen alle erforderlichen Abhängigkeiten und benutzerdefinierten Repositorys direkt in der
pom.xml
Datei definiert werden .quelle
Für IntelliJ 2016-2.4 (und ich glaube andere neue Versionen):
Ansicht> Werkzeugfenster> Maven-Projekte
Wählen Sie in der neu angezeigten Symbolleiste Maven-Einstellungen (Symbol eines Toolset).
Wenn dieser Bildschirm geöffnet wird, erweitern Sie das Maven-Menü und klicken Sie auf "Importieren".
Klicken Sie hier auf "Maven-Projekte automatisch importieren". Stellen Sie außerdem sicher, dass die Option "JDK für Importer" mit der JDK-Version übereinstimmt, die Sie verwenden möchten.
OK klicken. Gehen Sie nun zur roten Abhängigkeit in Ihrer pom.xml, wählen Sie die rote Glühbirne aus und klicken Sie auf "Maven-Indizes aktualisieren".
quelle
Was hat mir geholfen:
Navigation: Einstellungen | Erstellen, Ausführen, Bereitstellen | Maven
Geben Sie "Maven-Ausgangsverzeichnis" an - den Ort, an dem Sie den Maven installiert haben
quelle
Wenn bestimmte Maven-Module nicht kompiliert werden, überprüfen Sie, ob sich ihre pom.xml in der Liste "Ignorierte Dateien" befindet. In IntelliJ gehe zu
und überprüfen Sie, ob die zugehörige pom.xml ignoriert wird.
quelle
Öffnen Sie
IntelliJ Idea
, gehen Sie zu Datei> Andere Einstellungen> Standardeinstellungen ...> Maven (Einstellungen)> Importieren oder |Preferences > Maven > Importing
Klicken Sie in der Konsole auf Auto-Import aktivieren.
quelle
Wenn Sie ein neues Projekt erstellen, müssen Sie nur die Option auswählen:
...
Projekt aus externem Modell
importieren IDEA-Projektstruktur über vorhandenem externem Modell erstellen (Eclipse, Maven ...)
...
Von dort aus finden Sie es ziemlich einfach.
In Ihrem Fall können Sie Ihr Projekt schließen und einfach ein neues erstellen. Wählen Sie das Verzeichnis Ihres Projekts aus, das es überschreibt und es zu einem Maven-Projekt macht.
quelle
Das Importieren von Maven-Abhängigkeiten funktioniert möglicherweise nicht, wenn Sie denselben Pfad mehrmals importieren. Dies kann automatisch nach dem Importieren eines vorhandenen Maven-Projekts geschehen. Ich kann nicht herausfinden, warum dies passiert, daher neige ich dazu zu glauben, dass es sich um einen Fehler handelt.
Zum Beispiel, wenn mein Projekt ist
Die drei Pfade können als oberste Knoten importiert werden:
In diesem Fall scheinen die Abhängigkeiten richtig zu sein, werden jedoch erst verwendet, wenn Sie die überflüssigen Pfade entfernen (in diesem Fall
src/main
undsrc/test
). Sobald Sie dies getan haben, aktualisieren Sie und klicken Sie auf Erstellen> Projekt neu erstellen. IDEA übernimmt die Abhängigkeiten.Ein Symptom für dieses Problem ist, dass IDEA Sie vor einem doppelten Pfad warnt, wenn Sie eine Bibliothek manuell überprüfen (zweiter Screenshot in der Frage).
Es gibt verschiedene Möglichkeiten, die Abhängigkeiten bei Bedarf erneut zu lesen. Wenn Sie zur Registerkarte "Maven-Projekte" wechseln, wird oben links auf der Registerkarte das Symbol "Alle Maven-Projekte erneut importieren" angezeigt. Wenn Sie den Verdacht haben, dass IDEA verwirrt ist, können Sie auf Datei> Caches ungültig machen klicken.
quelle
Gehen Sie in Ihre Projektstruktur, wählen Sie unter Projekteinstellungen, Module die Abhängigkeitstabelle aus. Ändern Sie für jede Abhängigkeit den Bereich von "Test" in "Kompilieren".
quelle
Importieren Sie das Projekt erneut. Wenn Sie das Maven-Plugin installieren, können Sie dieses verwenden.
Klicken Sie mit der rechten Maustaste auf das Projekt -> Maven -> Reimport
quelle
Überprüfen Sie zuerst den Pfad, der für die Benutzereinstellungsdatei angegeben wurde: unter Einstellungen -> Erstellen, Ausführen, Entwickeln -> Build-Tools -> Maven . Das Feld sollte den Pfad der settings.xml Ihres Maven enthalten. Außerdem sollte die Datei settings.xml den korrekten Pfad des Remote-Repositorys haben.
quelle
Ich hatte ein ähnliches Problem. In meinem Fall verwende ich einen Brauch,
settings.xml
der nicht von IntelliJ ausgewählt wurde.Lösung:
File > Settings > Build, Execution, Deployment > Maven: User settings file
(Wählen Sie hier meine benutzerdefinierte settings.xml).quelle
Ich hatte das gleiche Problem und versuchte alle hier genannten Antworten, keine funktionierte.
Die einfache Lösung besteht darin, in Ihren Projektordner zu gehen, alle IDE- und IML-Dateien zu löschen und die IntelliJ-Idee neu zu starten. Es klappt. Sie müssen nichts mit den Einstellungen tun.
quelle
Ich bin auf das Problem gestoßen, dass einige Unterabhängigkeiten in IntelliJ 2016.3.X nicht gelöst werden konnten. Dies kann behoben werden, indem Sie unter
Maven home directory
Einstellungen> Erstellen, Ausführen, Bereitstellen> Build-Tools> Maven vonBundled (Maven 3)
auf ändern/usr/share/maven
.Danach wurden alle Unterabhängigkeiten wie in früheren IntelliJ-Versionen aufgelöst.
quelle
Maven - Reimport hat bei mir nicht funktioniert. Ich habe ein Spring-Projekt in STS (Eclipse) und meine Lösung besteht darin, ein Projekt wie folgt in IDEA zu importieren:
1) Datei - Neu - Projekt aus vorhandenen Quellen ... - Verzeichnis auswählen - Eclipse auswählen.
2) Setzen Sie Maven Autoimport in den Einstellungen auf true.
3) Klicken Sie dann mit der rechten Maustaste in pom.xml und wählen Sie Als Maven-Projekt hinzufügen.
Danach hat es alles importiert.
quelle
Ich hatte ein ähnliches Problem mit meinem MacBook, habe nur eine kleine Änderung vorgenommen
pom.xml
und alle Abhängigkeiten heruntergeladen:Frühere Abhängigkeiten wurden für meinen Windows-Computer wie folgt geschrieben:
Ich entfernte gerade die
<dependencies>
und</dependencies>
Tags und es begann alle Abhängigkeiten Herunterladen:Ich bin nicht sicher, ob es für Sie funktionieren wird oder nicht. Aber es hat gut für mich funktioniert.
Vielen Dank
quelle
Wenn in der unteren rechten Ecke "2 Prozesse laufen ..." oder ähnliches angezeigt wird, müssen Sie möglicherweise nur warten, bis der Vorgang abgeschlossen ist, da das Herunterladen aller Gläser möglicherweise einige Zeit in Anspruch nimmt.
quelle
Ich habe dieses Problem gelöst, indem ich meine Datei settings.xml mit der richtigen Spiegelkonfiguration aktualisiert habe. Es scheint, dass Intellij bei jedem Import des Maven-Moduls versucht, Metadaten aus dem Repository herunterzuladen.
quelle
Ein bisschen entführen, um hinzuzufügen, was letztendlich für mich funktioniert hat:
Gehen Sie in die
Maven Projects
Seitenleiste am rechten Rand der IDE und überprüfen Sie, ob Ihre Abhängigkeiten unter Ihrem Modul dort korrekt aufgeführt sind. Angenommen, dies ist der Fall, bitten Sie IDEA, erneut zu importieren (der erste Knopf oben sieht aus wie zwei blaue Pfeile, die einen Kreis gegen den Uhrzeigersinn bilden).Nachdem ich das getan hatte und IDEA das Projekt für mich neu laden ließ, wurden alle meine Abhängigkeiten auf magische Weise verstanden.
Als Referenz: Dies war mit
IDEA 13.1.2
quelle
Ich hatte das gleiche Problem und versuchte alles, was vorgeschlagen wurde, um das Problem nicht zu lösen. Ich verwendete Intellij Version 13.1.3
Nachdem ich mehr als ein paar Stunden damit verbracht hatte, das Problem zu beheben, entschied ich mich für eine aktualisierte Version und öffnete das Projekt in Version 14.1.4, wodurch das Problem letztendlich behoben wurde. Ich würde dies als wahrscheinlichen Fehler in der vorherigen Version betrachten.
Ich hoffe das hilft!
quelle
Ich konnte es beheben, indem ich unnötige Module aus der Liste Projekteinstellungen -> Module entfernte .
Es stellt sich heraus, dass diese zusätzlichen Module automatisch von IntelliJ IDEA erstellt wurden, als ich das IntelliJ-Projekt durch Importieren aus dem Projektordner (anstatt durch Öffnen von pom.xml) erstellt habe. Nachdem das Projekt als Maven-Projekt deklariert wurde, wurden geeignete Module erstellt, und vorhandene Module standen in Konflikt mit ihnen. Es ist auch möglich, diese Module während der Projekterstellung auszuschließen.
quelle
Das Löschen des .idea-Ordners aus dem Projektverzeichnis und das anschließende erneute Importieren des Projekts als Maven-Projekt hat bei mir funktioniert.
quelle
In meinem Fall wurde eines der Module aus irgendeinem Grund ignoriert. So beheben Sie das Problem: Klicken Sie mit der rechten Maustaste auf das problematische Modul und wählen Sie "Projekte nicht mehr speichern".
quelle
In meinem Fall wurde der von MAVEN verwendete Pfad für JAVA nicht als JAVA_HOME festgelegt, wie auf dem Computer konfiguriert. Daher wurde nicht einmal versucht, die Abhängigkeiten herunterzuladen. Schritte, die ich befolgt habe, um dieses Problem zu lösen,
Überprüft auf JAVA-Pfad, Einstellungen >> Erstellen >> Build-Tools >> Importieren >> JDK für Importer . Hat auf JAVA_HOME gezeigt.
mvn clean install -U
Wird über dem obigen Befehl verwendet, um das Herunterladen von Abhängigkeiten zu erzwingen.
Re importierte Maven-Projekte
quelle
Wenn alles andere fehlschlägt, überprüfen Sie, ob die JAR-Datei in Ihrem lokalen .m2-Repository tatsächlich gültig und nicht beschädigt ist. In meinem Fall wurde die Datei nicht vollständig heruntergeladen.
quelle
In maven wurden die Abhängigkeiten für mich aufgenommen, als ich den XML-Abschnitt dependencyManagement entfernte und nur Abhängigkeiten direkt unter dem Projektabschnitt hatte
quelle
Das Problem scheint zu sein, dass IntelliJ IDEA diese Abhängigkeiten trotz Auflistung Ihrer Abhängigkeiten in der Datei pom.xml nicht neu erstellt, wenn Sie Ihr Projekt ausführen.
Was für mich funktioniert hat, ist Folgendes:
Gehen Sie zu "Ausführen" -> "Konfigurationen bearbeiten ...", suchen Sie Ihre Anwendung, stellen Sie sicher, dass der Abschnitt "Vor dem Start:" erweitert ist, klicken Sie auf das grüne Pluszeichen und wählen Sie "Projekt erstellen".
quelle
Ich konnte meine Probleme beheben, indem ich diese Codezeilen nach dem Build-Tag in der Datei pom.xml hinzufügte. Ich verglich sie mit meinem laufenden Projekt und stellte fest, dass dies der Unterschied war. Jetzt bin ich alle gut.
quelle