it-swarm.com.de

Importieren Sie Maven-Abhängigkeiten in IntelliJ IDEA

Ich habe eine kleine Frage zu IntelliJ IDEA 11. Ich habe gerade ein Projekt aus Subversion importiert - es ist ein Maven-Projekt. Ich habe jedoch ein Problem in Maven-Bibliotheksabhängigkeiten, sodass ich nicht alle Maven-Abhängigkeiten automatisch einschließen kann. IDEA zeigt Abhängigkeitsfehler nur, wenn ich diese Klasse/das öffne, was ich hier bekomme:

enter image description here

Ich möchte also, dass alle Abhängigkeiten automatisch hinzugefügt werden - ist das möglich oder muss ich alle Klassendateien durchgehen, um Abhängigkeiten zu identifizieren und hinzuzufügen ?!

UPDATE: Nach einigen Änderungen fand ich heraus, wie ich mein Problem irgendwie lösen kann. Das ist, was ich tat:enter image description here

aber ich denke, logischerweise wird es keine neuen Abhängigkeiten vorsehen und prüfen?! ... Gibt es einen Einstellungsbereich für diesen in intelliJ - Auto-Exportabhängigkeiten zu classpath?!

158
Zaur Guliyev

IntelliJ sollte all Ihre Abhängigkeiten automatisch herunterladen und zum Klassenpfad des Projekts hinzufügen, sofern Ihr POM kompatibel ist und alle Abhängigkeiten verfügbar sind.

Wenn Sie Maven-Projekte in IntelliJ importieren, werden Sie in der Regel in einem Informationsfenster gefragt, ob Sie Auto-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 aktivieren, indem Sie auf "Datei"> "Einstellungen"> "Maven"> "Importieren" klicken. Es gibt ein Kontrollkästchen "Maven-Projekte automatisch importieren".

Wenn das nicht hilft, würde ich vorschlagen, eine vollständige Bereinigung vorzunehmen und erneut zu beginnen:

  • Schließen Sie Ihr Projektfenster (und IntelliJ) und entfernen Sie alle *.iml-Dateien und alle .idea-Ordner (es sollte eine pro Modul geben)
  • Führen Sie mvn clean install von der Befehlszeile aus
  • Importieren Sie das Projekt erneut in IntelliJ und achten Sie darauf, wenn Sie zum automatischen Importieren aufgefordert werden

IntelliJ 2016 Update :

Die Einstellung Maven-Projekte automatisch importieren wurde in den IntelliJ-Voreinstellungen nach Build, Ausführung, Bereitstellung> Build-Tools> Maven> Importieren verschoben.

228

Ich dachte, ich würde meine $ 0,02 hier reinwerfen: Für mich war das Problem zu beheben 

Datei [Menü] -> Einstellungen -> Maven -> Importieren und deaktivieren "Maven3 zum Importieren von Projekten verwenden" 

ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (die möglicherweise auch andere Ideen haben)

Update: Diesmal mit IntelliJ 15, bei dem keine Option zum Importieren von Maven3 verfügbar ist. Die Ursache war, dass IntelliJ manchmal "die Abhängigkeiten von Maven nicht richtig analysiert", und wenn einer von ihnen nicht richtig analysiert werden kann, gibt er alle von ihnen offenbar auf. Sie können dies feststellen, indem Sie das Werkzeugfenster von maven projects öffnen (Menü Ansicht -> Werkzeugfenster -> Maven Projects). Erweitern Sie dann eines Ihrer Maven-Projekte und deren Abhängigkeiten. Wenn die Abhängigkeiten alle rot unterstrichen sind, "Houston, wir haben ein Problem".  enter image description here

Sie können den real -Fehler tatsächlich sehen, indem Sie den Projektnamen überfahren. 

 enter image description here

In meiner Instanz stand "Probleme: Keine Versionen für XXX verfügbar" oder "Fehler beim Lesen des Deskriptors für Artefakt org.xy.z": ref: https://youtrack.jetbrains.com/issue/IDEA-128846 und https://youtrack.jetbrains.com/issue/IDEA-152555

In diesem Fall schien es sich bei mir um ein Glas zu handeln, das keine zugehörige Pom-Datei hatte (in unserem Maven Nexus Repo sowie in meinem lokalen Repository). Wenn dies auch Ihr Problem ist, können Sie die aktuelle Problemumgehung umgehen: Wenn Sie in Ihrem Code nicht unbedingt Klassen aus diesem Jar verwenden müssen (beispielsweise nur eine transitive Maven-Abhängigkeit), können Sie es tatsächlich aus dem Pom heraus kommentieren (vorübergehend), laden Sie das Maven-Projekt neu, und entkommentieren Sie es. Irgendwann "erinnert sich IntelliJ an seine alten Abhängigkeiten". Das Hinzufügen eines Maven-Transitiv-Ausschlusses kann dies auch vorübergehend bewirken, wenn Sie von einer transitiven Abhängigkeitskette betroffen sind. "

Eine andere Sache, die hilfreich sein könnte, ist die Verwendung einer "neueren Version" von maven als der im Lieferumfang enthaltenen 3.0.5 . Um dies als Standard festzulegen, schließen Sie alle intellij-Fenster und öffnen Sie dann die Einstellungen -> build , Ausführung und Bereitstellung -> Build-Tools -> Maven, und ändern Sie das Maven-Home-Verzeichnis. Wenn Sie dies anpassen, sollte oben "Für Standardprojekt" angezeigt werden. Sie können es jedoch auch für ein bestimmtes Projekt anpassen Sie importieren nach dem Anpassen erneut.

Andere Dinge, die helfen könnten: Löschen der Ordner des intellij Cache (Windows: HOMEPATH /. {IntellijIdea, IdeaC} XXX linux ~/.IdeaIC15) und/oder Deinstallieren und Installieren von IntelliJ selbst. GL!

59
rogerdpack

Wählen Sie beim Importieren des Projekts anstelle des Projektverzeichnisses pom.xml aus. Es sollte funktionieren.

28
chichi

Versuchen Sie, das Projekt aus dem Bereich Maven-Projekte in IntelliJ IDEA erneut zu importieren. Es sollte alle in Ihrem pom.xml definierten Abhängigkeiten automatisch herunterladen und konfigurieren.

Wenn der Download aus IDEA aus irgendeinem Grund nicht funktioniert, versuchen Sie mvn install in der 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.

19
CrazyCoder

Für IntelliJ 2016-2.4 (und ich glaube, dass andere neuere Versionen):

Ansicht> Toolfenster> Maven-Projekte

Wählen Sie in der neu angezeigten Symbolleiste die 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 for Importer' mit der zu verwendenden JDK-Version übereinstimmt.

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".

12
Paul Back

Was hat mir geholfen:

Navigieren: Einstellungen | Build, Ausführung, Bereitstellung | Maven

Geben Sie "Maven Home Directory" an - den Ort, an dem Sie den Maven installiert haben

8

Wenn bestimmte Maven-Module nicht kompiliert werden, überprüfen Sie, ob sich pom.xml in der Liste "Ignorierte Dateien" befindet. In IntelliJ gehe zu 

voreinstellungen -> Projekteinstellungen -> Maven -> ignorierte Dateien

und prüfen, ob die zugehörige Datei pom.xml ignoriert wird.

6
Udo

IntelliJ Idea öffnen, Gehe zu Datei> Andere Einstellungen> Standardeinstellungen ...> Maven (Voreinstellungen)> Importieren oder | Preferences > Maven > Importing

enter image description here

Klicken Sie in der Konsole auf Enable Auto-Import .

enter image description here

5
Prashanth Sams

Das Importieren von Maven-Abhängigkeiten funktioniert möglicherweise nicht, wenn Sie denselben Pfad mehrmals importieren. Dies kann automatisch nach dem Import eines vorhandenen Maven-Projekts geschehen. Ich kann nicht herausfinden, warum das so ist, also neige ich zu der Ansicht, dass es ein Fehler ist.

Zum Beispiel, wenn mein Projekt ist

hibernate
  src/main
  src/test

die drei Pfade können als oberste Knoten importiert werden:

hibernate
src/main
src/test

Wenn dies der Fall ist, scheinen die Abhängigkeiten richtig zu sein, sie werden jedoch nicht verwendet, bis Sie die überflüssigen Pfade entfernen (in diesem Fall src/main und src/test). Aktualisieren Sie anschließend und klicken Sie auf Erstellen> Projekt neu erstellen. IDEA greift die Abhängigkeiten auf.

Ein Symptom für dieses Problem ist, dass IDEA Sie vor einem duplizierten Pfad warnt, wenn Sie eine Bibliothek manuell überprüfen (zweiter Screenshot in der Frage).

Es gibt mehrere Möglichkeiten, die Abhängigkeiten erneut zu lesen, falls Sie sie benötigen. Wenn Sie zur Registerkarte "Maven-Projekte" gehen, wird oben links auf der Registerkarte ein Symbol "Alle Maven-Projekte erneut importieren" angezeigt. Wenn Sie vermuten, dass IDEA verwirrt wurde, klicken Sie auf Datei> Caches ungültig machen.

4
Jano

Wenn Sie ein neues Projekt erstellen, müssen Sie einfach die Option auswählen:

...
Projekt aus externem Modell importieren
Erstellen Sie IDEA Projektstruktur über vorhandenes externes Modell (Eclipse, Maven ...).
...

Sie werden es ziemlich direkt von dort finden.
Und in Ihrem Fall können Sie Ihr Projekt schließen und einfach ein neues erstellen. Wählen Sie das Verzeichnis Ihres Projekts, das es überschreibt und zu einem Maven-Projekt macht.

4
Markus Coetzee

Gehen Sie in Ihre Projektstruktur, wählen Sie unter Projekteinstellungen, Module die Tabelle der Abhängigkeiten aus. Ändern Sie für jede Abhängigkeit den Bereich von 'Test' in 'Compile'.

3
Bud

Importieren Sie das Projekt erneut. Wenn Sie Maven Plugin installieren, können Sie dieses verwenden.

Klicken Sie mit der rechten Maustaste auf das Projekt -> Maven -> Reimport

3
Damith Ganegoda

Erster Prüfpfad Festgelegt für Benutzereinstellungsdatei: in Einstellungen -> Erstellen, Ausführen, Entwickeln -> Build-Tools -> Maven ..__ Das Feld sollte den Pfad des settings.xml Ihres Maven. Auch die Datei "settings.xml" sollte den korrekten Pfad des Remote-Repositorys enthalten.

2
amol13

Ich hatte ein ähnliches Problem mit meinem Macbook. Ich änderte lediglich eine kleine Änderung in pom.xml und fing an, alle Abhängigkeiten herunterzuladen:

Frühere Abhängigkeiten wurden für meine Windows-Maschine wie folgt geschrieben:

<dependencies>
 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>
</dependencies>

Ich habe gerade die <dependencies>- und </dependencies>-Tags entfernt und es wurden alle Abhängigkeiten heruntergeladen:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

Ich bin mir nicht sicher, ob es für dich funktionieren wird oder nicht .. aber es hat gut für mich funktioniert.

Vielen Dank

1
Amit Joshi

Ich hatte das gleiche Problem und versuchte alles Mögliche, was das Problem nicht löste. 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. Ich denke, dass dies ein wahrscheinlicher Fehler in der vorherigen Version ist.

Ich hoffe das hilft!

1
sjaiswal

Ich habe dieses Problem durch Aktualisieren meiner Datei settings.xml mit der korrekten Spiegelkonfiguration gelöst. Intellij versucht, jedes Mal, wenn das Maven-Modul importiert wird, Metadaten vom Repository herunterzuladen.

1
Abel Zhan

Das Löschen des .idea-Ordners aus dem Projektverzeichnis und das erneute Importieren des Projekts als Maven-Projekt haben bei mir funktioniert.

1
Janac Meena

Maven - Reimport hat für mich nicht funktioniert. Ich habe ein Spring-Projekt in STS (Eclipse) und meine Lösung ist, das Projekt nach IDEA zu importieren:

1) Datei - Neu - Projekt aus vorhandenen Quellen ... - Verzeichnis auswählen - Eclipse auswählen.
2) Setzen Sie den automatischen Import von Maven in den Einstellungen auf "true".
3) Klicken Sie mit der rechten Maustaste in pom.xml und wählen Sie Als Maven-Projekt hinzufügen.

Danach hat alles importiert.

1
Svitlana Onish

Wenn in der rechten unteren Ecke "2 Prozesse läuft ..." oder ähnliches angezeigt wird, müssen Sie möglicherweise nur warten, bis der Vorgang abgeschlossen ist, da es einige Zeit dauern kann, bis alle Gläser heruntergeladen sind.

1
djechlin

Ich konnte es lösen, indem ich nicht benötigte Module aus der Liste Projekteinstellungen -> Module entfernte.

 enter image description here

Es stellte sich heraus, dass diese zusätzlichen Module automatisch von IntelliJ IDEA erstellt wurden, als ich das IntelliJ-Projekt durch Importieren aus dem Projektordner erstellt hatte (anstatt pom.xml zu öffnen). Nachdem das Projekt als Maven-Projekt deklariert wurde, wurden geeignete Module erstellt, und bestehende Module standen im Konflikt mit ihnen. Es ist auch möglich, diese Module bei der Projekterstellung auszuschließen.

1
elyor

Hijacking ein bisschen, um hinzuzufügen, was für mich am Ende gearbeitet hat:

Gehen Sie in die Maven Projects-Seitenleiste am rechten Rand der IDE und überprüfen Sie, ob Ihre Abhängigkeiten dort korrekt unter Ihrem Modul aufgeführt sind. Angenommen, dies ist der Fall, fragen Sie einfach IDEA, um anschließend erneut zu importieren (die erste Schaltfläche oben sieht aus wie zwei blaue Pfeile, die einen Kreis entgegen dem Uhrzeigersinn bilden).

Sobald ich das getan habe und IDEA das Projekt für mich neu laden würde, wurden alle meine Abhängigkeiten magisch verstanden.

Als Referenz: dies war mit IDEA 13.1.2

1
Sunspar

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 Maven home directory in Einstellungen> Erstellung, Ausführung, Bereitstellung> Erstellungstools> Maven von Bundled (Maven 3) in /usr/share/maven ändern.

Danach wurden alle Unterabhängigkeiten wie in früheren IntelliJ-Versionen aufgelöst.

1

Ich hatte das gleiche Problem und versuchte alle hier genannten Antworten, keine funktionierte.

Die einfache Lösung besteht darin, in Ihrem Projektordner alle .idea- und .iml-Dateien zu löschen und den IntelliJ ide neu zu starten. Es klappt. Keine Notwendigkeit, irgendetwas mit den Einstellungen zu tun.

1
Yashaswi N P

Ich musste das Maven-Home-Verzeichnis in den Einstellungen richtig einstellen und "Importieren des Maven-Projekts automatisch" unter "Importieren" in den Einstellungen aktivieren. Danach wurden Abhängigkeiten aufgelöst.

0
pavithraCS

In maven wurden die Abhängigkeiten für mich aufgenommen, als ich den xml-Abschnitt für dependencyManagement entfernte und direkt unter dem Projektabschnitt Abhängigkeiten hatte

0
seahorse

ich konnte meinen Fehler 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 alles in Ordnung.

<repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
0

In meinem Fall wurde eines der Module aus irgendeinem Grund ignoriert ... Um das zu beheben: Klicken Sie mit der rechten Maustaste auf das problematische Modul und wählen Sie "Projekte unignieren". 

 unignore project example

0
KernelMode

Ich hatte ein ähnliches Problem. In meinem Fall verwende ich ein benutzerdefiniertes settings.xml, das nicht von IntelliJ ausgewählt wurde. 

Lösung:
File > Settings > Build, Execution, Deployment > Maven: User settings file (wählte hier meine benutzerdefinierten Einstellungen.xml).

0
petre

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.

0
Markus Barthlen

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,

  1. Überprüft auf Java Pfad, Einstellungen >> Build >> Build Tools >> Importing >> JDK for Importer. Hat auf Java_HOME verwiesen.

  2. mvn clean install -U

    Wird über dem Befehl verwendet, um den Download der Abhängigkeiten zu erzwingen.

  3. Erneut importierte Maven-Projekte

0
Akanksha Sharma

Nichts funktionierte für mich, bis ich "File --> Open" ausprobierte und dann zur POM-Datei selbst navigierte. 

0
gorbysbm

Möglicherweise arbeiten Sie im internen Netzwerk eines Unternehmens.

In diesem Fall muss Ihre settings.xml -Datei unter dem Ordner user/<username>/.m2 möglicherweise aktualisiert werden, um externe Maven-Abhängigkeiten herunterzuladen oder hinzuzufügen.

Wenden Sie sich an Ihren Administrator, um die richtige settings.xml -Datei bereitzustellen, und fügen Sie sie dann in den Ordner .m2 ein.

0
nishchay3

Das Problem scheint zu sein, dass IntelliJ IDEA diese Abhängigkeiten trotz der Auflistung Ihrer Abhängigkeiten in der Datei pom.xml nicht neu aufbaut, wenn Sie Ihr Projekt ausführen.

Was für mich funktioniert hat ist:

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".

 enter image description here

0
Mike Nakis