Wie zu beheben zyklische Abhängigkeit in Maven?
Wie können wir beheben ein Maven zyklische Abhängigkeit?
Angenommen, A ist das übergeordnete Projekt und B und C sind Kind-Projekte. Wenn B ist, ist abhängig von C und C ist abhängig von B, gibt es eine Möglichkeit zu beheben, die zyklische Abhängigkeit anders als ein anderes Projekt.
- Sie haben ausgeschlossen Sie ein neues Projekt erstellen, das ist, was ich tun würde... Irgendeinem Grund Sie nicht wollen, zu tun? Es wäre die beste Lösung.
- Wenn Sie können nicht erstellen Sie ein neues Projekt, können Sie bewegen, alle abhängigen functionnality nur B oder C ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Maven nicht erlauben, zyklische Abhängigkeiten zwischen Projekten, denn sonst ist es nicht klar, welches Projekt zu erstellen. So müssen Sie, um loszuwerden, dieses Zyklus. Eine Lösung ist die, die Sie bereits erwähnt haben, erstellen Sie ein anderes Projekt. Ein anderes würde es sein, bewegen Sie einfach einige Klassen von B zu C oder Umgekehrt, wenn das hilft. Oder manchmal ist es richtig, zum Zusammenführen von Projekt B und C an einem Projekt, wenn es keine Notwendigkeit zu haben, zwei von Ihnen.
Aber ohne zu wissen und zu analysieren, warum Ihre Projekte hängen voneinander ab, es ist ein bisschen schwer zu schlagen die beste Lösung.
Also ich schlage vor, Sie verwenden Sie tools wie JDepend oder die InteliJ analyse tool zu finden, die problematische Klassen und der auf Ihnen beruhenden finden, ein besseres design für Ihre software.
Meisten der Zeit, die ich erstellen so etwas wie ein interface-Modul und und-Umsetzung-Modul, das entledigt sich der meisten Zyklen.
Erstellen Sie ein neues Projekt ist in der Tat eine Lösung.
Dependency Inversion ist die zweite mögliche Lösung.
Finden hier für die Azyklischen Abhängigkeit Prinzip.
Und hier für das Dependency-Inversion-Prinzip.