2016-12-06 1 views
0

Verwendung von M2Eclipse-Plugin. Projekt A hängt von Projekt B ab. Projekt B existiert sowohl im lokalen Maven-Repository als auch im Arbeitsbereich. Beim Debuggen ignoriert Eclipse die Kopie des Arbeitsbereichs und geht in die lokale Repository-Kopie von Projekt B.Eclipse geht zu maven local Repo Kopie eines Projekts, obwohl das Projekt auf dem Arbeitsbereich existiert

Aber die seltsame Sache ist, wenn ich Projekt B aus der pom.xml von Projekt A entferne, geht Eclipse zu Arbeitsbereich kopieren.

Ich habe versucht:

  • Deaktivieren Arbeitsplatz Auflösung von Projekt A und Wiederfreigabe es.
  • Saubere Installation Projekt A und Projekt B
  • Force-Aktualisierung Projekt A.

davon Weder gearbeitet. Wenn ich Projekt B von pom.xml von Projekt A entferne, funktioniert es. Wenn ich Projekt B erneut zu pom.xml von Projekt A hinzufüge, geht Eclipse erneut in lokale lokale Repo-Kopie von Projekt B. Aber das Entfernen von Projekt B aus der Liste der Abhängigkeiten von Projekt A ist offensichtlich nicht der richtige Weg.

Hat jemand anderes dieses seltsame Verhalten beobachtet? Was soll ich tun, damit das nicht passiert?

Antwort

0

Innerhalb von Eclipse können Sie im abhängigen Projekt (Projekt A) einen Link zu Ihrem Projekt (Projekt B) hinzufügen, anstatt in Ihrem lokalen Maven Repo.

Sie haben diese auf die abhängige Projekt (Projekt A) zu tun: Right click > Build path > Configure Build path... und in der Projects Registerkarte Sie Arbeitsplatz Projekt hinzufügen.

+0

Aber sollte 'm2e' nicht damit umgehen? – Utku

+0

Ja, aber manchmal funktioniert es einfach nicht richtig.Also musst du es manuell tun – DamCx

+0

Ich habe es gefunden. Offenbar hat jemand die Version der Projekt B-Abhängigkeit von "pom.xml" von Projekt A von "TEST-SNAPSHOT" auf "UAT-SNAPSHOT" geändert. Da die Version von Project B in meinem Arbeitsbereich "TEST-SNAPSHOT" ist, denkt Eclipse natürlich, dass dies nicht die Version ist, nach der es sucht, und daher geht es zu maven local repository. – Utku

0

Ich habe es gefunden. Anscheinend hat jemand die Version der Projekt B-Abhängigkeit von pom.xml von Projekt A von TEST-SNAPSHOT zu UAT-SNAPSHOT geändert. Da die Version von Project B in meinem Arbeitsbereich TEST-SNAPSHOT ist, denkt Eclipse natürlich, dass dies nicht die Version ist, nach der es sucht, und daher geht es zu maven local repository.

Mit anderen Worten: Projekt A des pom.xml von diesem geändert:

... 
<dependency> 
      <groupId>SomeGroupID</groupId> 
      <artifactId>Project_B</artifactId> 
      <version>TEST-SNAPSHOT</version> 
</dependency> 
... 

dazu:

... 
<dependency> 
      <groupId>SomeGroupID</groupId> 
      <artifactId>Project_B</artifactId> 
      <version>UAT-SNAPSHOT</version> 
</dependency> 
... 

Und das ist die pom.xml des Projekts B in meinem Arbeitsbereich:

... 
<groupId>SomeGroupID</groupId> 
<artifactId>Project_B</artifactId> 
<version>TEST-SNAPSHOT</version> 
... 

Da Projekt A UAT-SNAPSHOT Version von verweist Projekt B (statt Version TEST-SNAPHOT), denkt Eclipse natürlich, dass Projekt B in meinem Arbeitsbereich nicht das Projekt ist, nach dem Projekt A sucht. Daher geht Eclipse zu meinem lokalen Maven-Repository.

Nach Hause nehmen Nachricht ist, sollte man sehr sorgfältig prüfen, dass die Version, auf die verwiesen wird, und die Version des Projekts, von der erwartet wird, dass sie referenziert, genau übereinstimmt.

Verwandte Themen