2014-11-21 20 views
21

ho un po 'un problema divertente e invece di cercare una soluzione ad esso, sto cercando una soluzione s.risolvere o Compilazione circolare dipendenza in Maven

Progetto Alice ha un pom.xml. In esso il pom dice che viene confezionata come un barattolo e sebbene sia una donna forte, dipende da Bob. Il progetto Bob, essendo complementare, dice che dipende da Alice. Ergo una dipendenza circolare.

Ovviamente, l'esecuzione di mvn compile su Alice dice "Alice manca a Bob". E Bob, quel vero romantico, se provi a compilarlo, gli manca anche Alice.

Poiché nessuno dei due si conformerà senza l'altro presente, sto cercando i modi per risolvere questo problema.

C'è solo due modi che conosco come risolvere questo:

  1. Marry loro e un progetto Maven fare.
  2. rompere il loro co-dipendenza

A parte il fatto che io non voglio promuovere l'incesto, sarebbe fare un pom genitore e fare Alice e Bob fratelli risolvere questo problema?

Qualsiasi altra soluzione s?

+8

Questo ha reso la mia giornata. – BackSlash

+0

@BackSlash Il downvote istantaneo ha reso la mia giornata. Mi chiedo perché. Questa è una domanda seria, l'ho solo formulato allegoricamente. – Lan

+0

Sembra che tu sappia già come risolverlo. – rodrigoap

risposta

6

Capire cos'è che Alice e Bob hanno disperatamente bisogno gli uni degli altri, e introdurre quello - chiamiamolo Charlie - come il proprio POM separato. Quindi, fai dipendere Alice e Bob da Charlie.

La cosa importante da notare qui è che le dipendenze circolari sorgono spesso a causa di alcuni moduli che comprendono più del necessario. Dato che Alice ha bisogno di Bob e Bob ha bisogno di Alice, c'è qualcosa che potrebbe essere separato da questi due moduli e introdotto come terzo.

Questa probabilmente non è la soluzione più , ma è la più pulita. Quindi, introduci più modularità nel tuo sistema e altre opportunità per il refactoring del modulo.