2014-11-21 12 views
21

habe ich ein bisschen ein lustiges Problem und stattdessen von der Suche eine Lösung, ich bin auf der Suche nach Lösung s.Resolving oder Kompilieren eines zirkuläre Abhängigkeit in Maven

Projekt Alice hat eine pom.xml. Darin sagt der Pom, dass sie als Krug verpackt wird und obwohl sie eine starke Frau ist, ist sie abhängig von Bob. Projekt Bob, ein Komplementär, sagt, dass er von Alice abhängt. Ergo eine zirkuläre Abhängigkeit.

Natürlich läuft mvn compile auf Alice sagt "Alice Bob fehlt". Und Bob, dieser wahre Romantiker, wenn du versuchst, ihn zu kompilieren, vermisst er auch Alice.

Da keiner ohne das andere Geschenk entspricht, suche ich nach Wege, um dies zu lösen.

Es gibt nur zwei Möglichkeiten, ich weiß, wie diese zu beheben:

  1. Heiratet sie und sie ein Maven-Projekt machen.
  2. ihre Co-Abhängigkeit

Neben der Tatsache, Pause, dass ich nicht will Inzest fördern, würde ein Elternteil pom machen und Alice und Bob machen Geschwister dieses Problem lösen?

Jede andere Lösung s?

+8

Das machte meinen Tag. – BackSlash

+0

@BackSlash Der sofortige Downvote machte meinen Tag. Ich wundere mich warum. Das ist eine ernste Frage, ich habe es nur allegorisch formuliert. – Lan

+0

Es sieht so aus, als ob Sie bereits wissen, wie Sie es beheben können. – rodrigoap

Antwort

6

Finden Sie heraus, was Alice und Bob dringend voneinander brauchen, und stellen Sie das - nennen wir es Charlie - als eigenes separates POM vor. Dann sollten Alice und Bob von Charlie abhängig sein.

Die große Sache, die hier zu beachten ist, ist, dass zirkuläre Abhängigkeiten oft aufgrund bestimmter Module entstehen, die mehr umfassen, als sie benötigen. Da Alice Bob und Bob Alice braucht, gibt es etwas, das von diesen beiden Modulen abgespalten und als drittes eingeführt werden könnte.

Dies ist wahrscheinlich nicht die meisten attraktive Lösung, aber es ist die sauberste. Sie führen dann mehr Modularität in Ihr System und einige weitere Möglichkeiten für das Modul-Refactoring ein.

Verwandte Themen