Maven: m2eclipse: Die Deaktivierung der Workspace-Auflösung führt dazu, dass das Artefakt fehlt

9

Ich habe Projekt A, das von den Projekten B und C in meinem Eclipse-Arbeitsbereich abhängt.

Manchmal möchte ich, dass A mit den Artefakten B und C aus dem Repository läuft, und nicht mit den Versionen im Arbeitsbereich. Daher wähle ich A und dann 'Maven- & gt; Deaktivieren Sie Workspace Resolution, damit A die Versionen aus dem Repository verwendet.

Sobald ich jedoch die obige Aktion ausführe, erhalte ich die Fehlermeldung "Fehlendes Artefakt B" und "Fehlendes Artefakt C" in der Pom-Datei von Projekt A.

Ich habe versucht, das Projekt zu säubern, ich habe 'Maven | Update 'mit der Option' Aktualisierung von Gläsern / Freigaben erzwingen 'aktiviert. Keine davon hat das Problem gelöst.

Benutze ich 'Maven- & gt; Deaktivieren Sie Workspace Resolution 'nicht richtig?

Zusätzliche Informationen: Die genauen Versionen dieser Projekte befinden sich im Repository. Wenn ich die Projekte B und C im Arbeitsbereich schließe, verwendet Projekt A glücklich Repository-Versionen von B und C.

    
Cyrus Rezai 20.11.2013, 15:55
quelle

4 Antworten

5

Sie müssen die Projekte B und C in Ihrem lokalen m2-Repository mit den genauen Versionen installieren, auf die in der pom.xml von Projekt A verwiesen wird.

    
Saif Asif 20.11.2013 17:25
quelle
0

Dies scheint ein bekanntes Problem zu sein (wenn nicht ein Fehler): Fehlerbehebung - Fehlendes Artefakt

Ich habe ein ähnliches Setup (Web-Projekt A hängt von Jar-Projekt B ab), also versuche ich zu reproduzieren, wie es im obigen Link beschrieben ist:

  

projectA und projectB.
  Beide Projekte verwenden Maven.
  ProjektA sollte eine Abhängigkeit von ProjektB haben.
  Richten Sie mit beiden Projekten einen Eclipse-Arbeitsbereich ein.
  Klicken Sie mit der rechten Maustaste auf ProjektA und gehen Sie zu "Maven == & gt; Arbeitsbereichsauflösung deaktivieren"
  Projekte säubern / aktualisieren / neu erstellen.
  Sie erhalten eine Fehlermeldung "Fehlendes Artefakt".

In meinem Fall passiert das nicht. Nur wenn ich dann zu meinem lokalen Repository gehe und das Verzeichnis, das mein Projekt enthält, manuell lösche und dann ein maven update mache.

Ich weiß nicht, ob es die Eclipse-Version ist, aber ich arbeite daran: Eclipse Java EE IDE für Webentwickler. Kepler Service Release 2 Build-ID: 20140224-0627

    
zlinks 11.03.2014 16:51
quelle
0

Ich verstehe nicht, wieso zlinks die Anweisungen zur Reproduktion des Fehlers zitiert haben, aber nicht die tatsächliche Lösung (die zumindest für mich funktionierte). Also ...

  

In der Repository-Ansicht (Fenster == & gt; Ansicht == & gt; Andere == & gt; Maven   Repository) sollten Sie sich auf das nicht - synchronisierte Repository konzentrieren (meins war   das lokale Repository) und klicken Sie dann mit der rechten Maustaste und wählen Sie "Reindex"

Das hat es getan.

    
Monkey Supersonic 29.05.2017 09:29
quelle
0

Ich hatte das gleiche Problem, löse dies durch Schließen und öffne Projekt B und C.

  

Rechtsklick Projekt B und C - & gt; 'Projekt schließen' - & gt; maven Aktualisierungsprojekt   A - & gt; Öffnen Sie das Projekt B und C

    
Sophia 19.03.2018 06:36
quelle

Tags und Links