2011-01-20 7 views
6

diciamo, ArtifactA dipende ArtifactB e ArtifactC dipende anche ArtifactBMaven: Come trovare i manufatti che dipendono da un altro artefatto

Capisco che "mvn dipendenza plug-in" può aiutare a elencare le dipendenze di un progetto/artefatto .

Ma che dire del contrario? Se voglio trovare l'elenco di progetti/artefatti che dipendono da un dato artefatto? Dall'esempio precedente, dato ArtifactB, vorrei ottenere ArtifactA e ArtifactC

Come posso ottenere questo risultato?

+0

Possibile duplicato di [Come generare un grafico della dipendenza tra tutti i moduli di un progetto Maven?] (Https://stackoverflow.com/questions/4084669/how-to-generate-a-graph-of-the -dipendenza-tra-tutti-moduli-di-un-maven-progetto) –

risposta

5

Maven può operare solo sul progetto corrente, quindi può solo rilevare le dipendenze tra dal progetto corrente (o sottomoduli) ad altri progetti (compresi i sottomoduli del progetto corrente).

Che cosa si può fare è cercare sottomoduli specifici a seconda di altri sottomoduli:

     mycompany:parent 
        /    \ 
     mycompany:child1  mycompany:child2 
      /    /    \ 
    mycompany:grandchild1 mycompany:grandchild2 mycompany:grandchild3 

In questo modo si possono trovare tutti i sottoprogetti che hanno dipendenze a grandchild3:

mvn validate -pl child2/grandchild3 -amd 

Questo verrà eseguito la fase validate su tutti i progetti all'interno del progetto corrente che dipendono da grandchild3.

2

Non è affatto facile. Una opzione è l'uso di m2eclipse che ha una caratteristica chiamata Ricerca classe. Nella vista repository maven, fare clic con il tasto destro del mouse su un repository e abilitare l'indice completo. Quindi Naviga> Apri tipo da esperto: qui puoi esaminare tutti gli artefatti disponibili in base alla convenzione del pacchetto java.

Un'altra opzione consiste nello sviluppare il proprio strumento basato su JarAnalyzer, ad esempio, che accetterà un file JAR e cercherà nel repository maven locale, cercando gli artefatti più appropriati che soddisfino i pacchetti/classi importati dal JAR.

+0

in realtà è facile con 'mvn validate', vedi @Sean Patrick Floyd's answer – tsayen

Problemi correlati