Intellij Idee kann nichts in Maven lösen

130

Ich bin neu in Intellij Idea, ich importiere nur ein Projekt mit pom.xml, aber die Idee hat nichts in Maven-Abhängigkeiten gelöst.

Alles, was pom.xmlbeim Import in Code in Abhängigkeiten definiert wird, löst einen Fehler auscannot resolve symbol xxxxx

Aber mvn installfunktionieren wird, ich versuche , die Abhängigkeiten importieren in Project Settings/Librariesin .jarDateien, dann funktioniert es, aber könnten die ide resolve Bibliotheken definiert in pom.xml? Ich möchte das nicht jedes Mal tun.

Zusätzliche Informationen:

IDEA-Version: 12.0.3, Betriebssystem: Windows 7, Reimport funktioniert nicht, Maven-Version: 3.0.4, Maven-Abhängigkeiten sind unter Exernal Libraries nicht vorhanden.

Es gibt keine Ausnahmen in idea.log ...

Platzen
quelle
IDEA-Version? Irgendwelche verwandten Ausnahmen in idea.log ? Maven-Version? Welches Betriebssystem verwenden Sie? Funktioniert die Schaltfläche "Neu importieren" im Maven ProjectsWerkzeugfenster? Sehen Sie die Abhängigkeiten unter dem External LibrariesKnoten in der Project View?
CrazyCoder
IDEA-Version: 12.0.3, Betriebssystem: Windows 7, Reimport funktioniert nicht, Maven-Version: 3.0.4, Maven-Abhängigkeiten existieren nicht unter Exernal Libraries.
Burst
Es gibt keine Ausnahmen in idea.log ...
Burst
Versuchen Sie IDEA 12.1 und aktivieren Sie Maven 3 in Settings| Maven| ImportingDie Netzwerkkonfiguration kann sich ebenfalls darauf auswirken .
CrazyCoder
Vielen Dank für Ihre Antwort, es funktioniert jetzt, aber es gibt immer noch ein Problem: Die Abhängigkeiten, die scope = system sind, werden nicht bereitgestellt, wenn sie in Tomcat ausgeführt werden.
Burst

Antworten:

118

In IntelliJ 12.1.4 habe ich Settings --> Maven --> ImportingFolgendes sichergestellt:

  1. Maven-Projekte automatisch importieren
  2. Erstellen Sie IDEA-Module für Aggregatorprojekte
  3. Quelle behalten ...
  4. Build-Verzeichnis ausschließen ...
  5. Maven-Ausgabe verwenden ...
  6. Generierte Quellenordner: "Automatisch erkennen"
  7. Phase zu sein ...: "Prozessressourcen"
  8. Automatisch herunterladen: "Quellen" & "Dokumentation"
  9. Verwenden Sie Maven3, um das Projekt zu importieren
    • VM-Optionen für den Importer: -Xmx512m

Dies führte mich von vielen ungelösten Importanweisungen zu einer Lösung. Ich denke, der Schlüssel hier war die Verwendung von Maven3 zum Importieren von Projekten ... Hoffentlich hilft dies.

MCP
quelle
15
Das ist gut, aber ich musste das Projekt auch als Maven-Projekt laden - wählen Sie Datei | Öffnen Sie Ihre pom.xml und warten Sie.
MaKri
3
Sowohl diese Antwort als auch der erste Kommentar haben mein Problem behoben. Danke Leute!
miken.mkndev
Ich musste den Speicher für den Importeur noch weiter vergrößern und entschied mich schließlich für -Xmx4096m (es ist ein großes Projekt). Dies unterscheidet sich von den Speichereinstellungen in der idea.vmoptions!
Yasammez
Vielen Dank, ich hatte ein Problem, bei dem Maven 3.0.5 (gebündelt) dazu führte, dass keine Maven-Abhängigkeiten importiert wurden. Durch die Aktualisierung auf 3.3.9 konnten jedoch alle Abhängigkeiten korrekt importiert werden.
Matthew Buckett
Ich bin mir nicht sicher, warum IDEA kein ähnliches Kontextmenü wie Eclipse zum Erstellen eines mavenbasierten Projekts hat. Ab Version 2017.2 müssen Sie Datei> Andere Einstellungen> Standardeinstellungen> Nach Maven im Suchfeld suchen. IDEA hat wirklich schlechte UX im Vergleich zu Eclipse
Vikramvi
115

Ich bin auf dieses Problem gestoßen. Die Idee kann nicht alle abhängigen JAR-Pakete mit Maven herunterladen. Ich habe nur die folgenden Vorgänge versucht:

 mvn -U idea:idea

Anschließend werden alle abhängigen JAR-Pakete aus dem Maven-Repository heruntergeladen

Ranpengcoder
quelle
4
Hinweis: Dieses Plugin ist nicht mehr verfügbar. Es wird nicht mehr gepflegt. maven.apache.org/plugins/maven-idea-plugin
petertc
6
Es ist die einzige Lösung von dieser Seite, die auch für mich funktioniert !!
Nahab
Ich habe dieses Problem seit langer Zeit konfrontiert .. und dies hat meinen Tag (/ Tage) gerettet ... Vielen Dank !!
CodeMan
Es ist hilfreich für mich. Danke dir.
Anna Kaygorodova
3
Kann jemand erklären, warum das funktioniert? Dies war die einzige gute Lösung für mich trotz des Plugins im Dezember 2017.
Z3d4s
34

Ich habe auch diesen Fehler erhalten, weil das Projekt Haupt- und Testordner als Module importiert hat. Klicken Sie auf Projekt -> Drücken Sie F4 -> Entfernen Sie in den Moduleinstellungen die Haupt- und Testordner und erstellen Sie das Projekt erneut. Problem wird gelöst.

Anurag
quelle
1
Dies stellte sich auch als mein Problem heraus, nachdem ich ein vorhandenes Maven-Projekt in IntelliJ 14.0.3 importiert und während des Importvorgangs alle Standardoptionen ausgewählt hatte.
Nate R.
Nach stundenlangem Suchen hat dies den Trick für mich getan. BlessUp!
SourceVisor
Das hat auch bei mir funktioniert! Weiß jemand, warum dies die Auflösung bricht?
dmi_
Das hat bei mir funktioniert, das ist das einfachste, das ich versucht habe. Danke!
rrw
1
+1 ... das hat mir total geholfen. Alles schien in Ordnung zu sein, pom.xml wurde gelesen, Bibliotheken waren vorhanden, aber dies musste getan werden, damit Fehler behoben wurden.
Davesbrain
34

Ich bin auf dieses Problem gestoßen, als ich die mitgelieferte Maven 3-Instanz von IntelliJ 14 verwendet habe.

Ich wechselte zur Verwendung meiner eigenen lokalen Maven-Instanz über:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

Dann fügte ich den Pfad zu meiner lokal installierten Instanz hinzu.Geben Sie hier die Bildbeschreibung ein

Dadurch wurden die Abhängigkeiten auf magische Weise angezeigt.

Geben Sie hier die Bildbeschreibung ein

Conor Svensson
quelle
1
Unglaublich. Dieser arbeitete für mich nach vielen Kopfschmerzen. Ich habe maven 3.5 aus dem Internet heruntergeladen. Vielen Dank !!
Sumanth232
hat meinen Tag gerettet !! Vielen Dank Conor
Dota2
Wow, es fühlte sich an, als wäre nach diesem Trick etwas in der Idee verstopft. Danke Connor.
Bnrdo
Meine Güte, ich hätte nie gedacht, dass ich die gebündelte Version von maven nicht verwenden und meine eigene verwenden müsste. Es hat total funktioniert, nachdem ich ein paar Stunden damit verbracht hatte, alle möglichen Dinge auszuprobieren.
Zen
Super !! Das hat wie ein Kinderspiel funktioniert. Vielen Dank für die Hilfe.
Sanjeev
10

Ich habe mehrere Optionen ausprobiert, aber diese hat mein Problem endlich gelöst. Ich habe das Projekt erneut importiert, indem ich die folgenden Schritte in IntelliJ ausgeführt habe:

  1. Datei -> Neu -> Projekt aus vorhandenen Repositorys
  2. Wählen Sie Ihr Projekt unter "Datei oder Verzeichnis zum Importieren auswählen".

  3. Wählen Sie im nächsten Bildschirm "Projekt aus externem Modell importieren" und "Maven".

  4. Aktivieren Sie im nächsten Schritt das Kontrollkästchen " Maven-Projekte automatisch importieren" (das hat mein Problem gelöst).
  5. Wählen Sie zum Abschluss bei Bedarf Profile aus

Für mich hat das erneute Importieren von Maven-Projekten das Problem für vorhandene Projekte nicht gelöst.

Caytekin
quelle
5

Für mich das Problem, was ich hatte, um das Kontrollkästchen "Maven-Projekte automatisch importieren" unter Einstellung> Maven> Importieren zu aktivieren

Laura Liparulo
quelle
Vielen Dank! Still ist eine aktuelle Lösung für Intellij IDEA 2016. Der Maven-Import ermöglicht das nahtlose Öffnen eines vorhandenen Maven-Projekts im Gegensatz zu einer Projekteröffnung, die mehrere Abhängigkeitsprobleme verursacht hat!
Exterminator13
5

Ich bin gerade auf dasselbe Problem nach dem IntelliJ-Update gestoßen. Mein Fix: Rechtsklick auf das Projekt, dann Maven -> Reimport.

Jarosław Jaryszew
quelle
5
  1. Schließen Sie IntelliJ
  2. Öffnen Sie das gleiche Projekt
  3. Wenn das Projekt geladen wird, sehen Sie unten rechts ein Popup-Sprichwort non-managed pom.xml file found. Wenn Sie darauf klicken, wird ein neues Popup angezeigt, das besagt add as maven project, klicken Sie darauf und fertig.
Hulesh Chandra
quelle
4

Ich habe diesen Fehler erhalten, weil mein Projekt nicht richtig eingerichtet wurde. Es hatte Haupt- und Testordner als Module importiert. Als ich die beiden Module löschte (aber als Quell- und Testordner behielt), begann mein Code korrekt zu kompilieren.

vishal
quelle
4

Ich hatte das gleiche Problem wie der Autor!

Um mein Problem zu lösen, musste ich das Maven Integration Plugin hinzufügen: Datei | Einstellungen | Plugins

So was:

Maven Integration Plugin

Danach hat Intellij alle Abhängigkeiten aus der Datei pom.xml heruntergeladen.

Wenn ich nun ein Projekt basierend auf dem Maven-Modell erstellen möchte, wähle ich einfach Öffnen im ersten Intellij-Fenster und wähle die Datei pom.xml:

Geben Sie hier die Bildbeschreibung ein

Anatolii Stepaniuk
quelle
Das hat den Trick für mich getan. Aus irgendeinem Grund hatte ich nur versucht, das Projekt zu importieren (ein großes Maven-Projekt mit vielen Untermodulen).
Torbjørn Kristoffersen
2

Wenn Sie Ihr Maven-Projekt in IntelliJ importiert haben und Fehler auftreten, weil Maven-Importe nicht behoben werden, liegt dies möglicherweise an der benutzerdefinierten Maven-Datei settings.xml, die Sie möglicherweise verwenden. Ich habe versucht, es in den Intellij-Standardeinstellungen für Maven zu überschreiben, aber es hat nicht geholfen. Schließlich musste ich es in ~ / .m2 / settings.xml behalten und dann hat IntelliJ es endlich geehrt.

sdm
quelle
Das ist die Standardeinstellung, ja?
Rogerdpack
2

Ich hatte eine leere Datei settings.xml in Users /.../. M2 / settings.xml. Als ich hinzufügte

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

Alle Abhängigkeiten wurden geladen

Valeriy K.
quelle
1

Unter Einstellungen -> Maven -> Repositorys werden nur einige in meinen Einstellungen konfigurierte Repositorys angezeigt.

Problemumgehung

Es ist wahrscheinlich ein Fehler (Idea 13.1.5 Ultimate). Es hat mir geholfen, die Spiegel zu wechseln. Derjenige, der nicht oben auftauchte.

Amio.io
quelle
1

Mit IntelliJ 16.1.4 hatte ich das gleiche Problem. Sie sollten sich das Ereignisprotokoll ansehen, da es mir sagte "Nicht verwaltete pom.xml-Datei gefunden: ...". Ich habe dann darauf geklickt und das Problem wurde behoben.

Luka Hale
quelle
1

In meinem Fall habe ich das Maven-Projektfenster auf der rechten Seite erweitert, auf + geklickt und das Projekt hinzugefügt. Dann hat es funktioniert.

Murat
quelle
1

Wenn Sie organisationsspezifische Abhängigkeiten in pom.xml haben, müssen Sie den Pfad von settings.xml für Ihr Projekt aktualisieren, der standardmäßig in Ihrem Benutzerverzeichnis in Ubuntu festgelegt ist: /home/user/.m2/settings.xml - > (ändere es in deinen Apache-Maven-Konf-Pfad)

Aktualisieren Sie die Setting.xml-Datei Intellij

Pukhraj soni
quelle
0

3 einfache Schritte: IntelliJ 14:

  1. Datei> Einstellungen> Erstellen, Ausführen, Bereitstellen> Erstellen von Tools

  2. Wählen Sie Maven

  3. Maven-Ausgangsverzeichnis: C: / Programme / apache-maven-3.3.3 (Ihr gleichwertiger Speicherort)

Zillani
quelle
0

Beachten Sie, dass IntelliJ die Klassen Ihrer lokalen Maven-Installation zu einem eigenen Klassenpfad hinzufügt. Halten Sie sie daher auf dem neuesten Stand.

In meinem Fall hat IntelliJ versucht, die Methode aufzurufen org.eclipse.aether.util.ConfigUtils.getFloat(). Dies verursachte eine java.lang.NoSuchMethodError, weil meine Jahre alte Maven-Version diese Methode noch nicht enthielt. Aufgrund der Ausnahme hat IntelliJ das Auflösen von Abhängigkeiten eingestellt.

Nach dem Aktualisieren von Maven müssen Sie die Einstellung "Maven-Ausgangsverzeichnis" unter "Erstellen, Ausführen, Bereitstellen" -> "Maven" ändern. Danach müssen Sie IntelliJ neu starten, da sich der Klassenpfad der JVM von IntelliJ während der Ausführung nicht ändert.

Ich habe einige Zeit gebraucht, um dieses Problem zu lösen, da ich nicht erwartet hatte, dass IntelliJ die Klassen meiner lokalen Maven-Installation verwendet. Ich dachte, es verwendet seine eigenen gebündelten JARs. Hoffentlich sind diese Informationen für andere hilfreich.

Gräten
quelle
0

<option name="workOffline" value="true" />in workspace.xmlist nicht dein Freund. Überprüfen Sie dies, bevor Sie Ihre löschen .idea(die viele nützliche Einstellungen enthält, die Sie wahrscheinlich nicht verlieren möchten).

Es ist eine Maven- workspace.xmlEinstellung

ycomp
quelle
0

Es scheint mir, dass es viele Lösungen für dieses Problem gibt und alle ein bisschen wie Magie aussehen. Für mich funktionierte die Ungültigmachung von Caches, das erneute Importieren oder alles andere, was bereits erwähnt wurde, nicht. Das einzige, was geholfen hat, war (ohne erneuten Import), zu den Maven-Einstellungen zu wechseln, das automatische Importieren zu deaktivieren und es erneut zu überprüfen.

Geben Sie hier die Bildbeschreibung ein

Martin D.
quelle
0

Es gibt ein Problem mit der mitgelieferten Maven-Version. Wie jemand zuvor vorgeschlagen hatte, wechselte ich zu meiner eigenen Maven-Installation und die Abhängigkeiten funktionierten auf magische Weise (IntelliJ 2018.3).

Alejandro García
quelle
0

Ich hatte gerade dieses Problem beim Hinzufügen von <dependency>...</dependency>Elementen zu einem <profile>. Ich habe gerade festgestellt, dass beim Hinzufügen (Einfügen) der nicht aufgelösten Abhängigkeitselemente zum <dependencies>Element die Abhängigkeiten aus dem Maven-Repository heruntergeladen werden. Ich kann dann das Abhängigkeitselement aus dem Abhängigkeitselement entfernen.

JL_SO
quelle
0

Die Verwendung des Standard-Maven (der mit IntelliJ geliefert wird) kann ebenfalls zu diesem Problem führen. Konfigurieren Sie also den Maven, den Sie installiert haben.

Dies kann erfolgen über: Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Maven

Aktualisieren Sie die folgenden Einstellungen entsprechend Ihrer Maven-Installation:

  1. Maven-Ausgangsverzeichnis =
  2. Benutzereinstellungsdatei =
  3. Lokales Repository =
Horizont7
quelle
0

Okay, ich hatte tagelang mit diesem Problem zu kämpfen. Beim Versuch, die POI-Bibliothek und die Simple JSON-Bibliothek zu importieren, habe ich alle vorgeschlagenen Antworten und Lösungen ausprobiert. Nichts hat funktioniert. Am Ende war die Lösung für meinen Fall recht einfach

Nachdem ich die Abhängigkeiten in meine POM-Datei eingefügt hatte, musste ich meiner Datei module-info.java nur Folgendes hinzufügen:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

Da sich mein Projekt in einem Paket in einem Modul befand, musste ich dies tun, damit das System weiß, dass diese importierten Bibliotheken verwendet werden. Fügen Sie einfach den Bibliotheksnamen nach Bedarf in Ihre Datei module-info.java ein

Hoffe es funktioniert bei dir

Abdussalam
quelle
0

Gehen Sie zu Externe Bibliotheken und entfernen Sie alle Bibliotheken, in denen root steht, nachdem Sie auf Alle Projekte erneut importieren geklickt haben

Geben Sie hier die Bildbeschreibung ein

Andy Quiroz
quelle