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:
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:
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?!
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:
*.iml
-Dateien und alle .idea
-Ordner (es sollte eine pro Modul geben)mvn clean install
von der Befehlszeile ausIntelliJ 2016 Update :
Die Einstellung Maven-Projekte automatisch importieren wurde in den IntelliJ-Voreinstellungen nach Build, Ausführung, Bereitstellung> Build-Tools> Maven> Importieren verschoben.
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".
Sie können den real -Fehler tatsächlich sehen, indem Sie den Projektnamen überfahren.
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!
Wählen Sie beim Importieren des Projekts anstelle des Projektverzeichnisses pom.xml
aus. Es sollte funktionieren.
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.
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".
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
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.
IntelliJ Idea
öffnen, Gehe zu Datei> Andere Einstellungen> Standardeinstellungen ...> Maven (Voreinstellungen)> Importieren oder | Preferences > Maven > Importing
Klicken Sie in der Konsole auf Enable Auto-Import .
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.
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.
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'.
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
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.
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
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!
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.
Das Löschen des .idea-Ordners aus dem Projektverzeichnis und das erneute Importieren des Projekts als Maven-Projekt haben bei mir funktioniert.
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.
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.
Ich konnte es lösen, indem ich nicht benötigte Module aus der Liste Projekteinstellungen -> Module entfernte.
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.
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
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.
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.
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.
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
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>
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).
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.
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 >> Build >> Build Tools >> Importing >> JDK for Importer. Hat auf Java_HOME verwiesen.
mvn clean install -U
Wird über dem Befehl verwendet, um den Download der Abhängigkeiten zu erzwingen.
Erneut importierte Maven-Projekte
Nichts funktionierte für mich, bis ich "File --> Open"
ausprobierte und dann zur POM-Datei selbst navigierte.
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.
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".