2011-01-13 17 views
10

Usiamo Maven per costruire i nostri progetti e Nexus come gestore di repository.Come trovare gli artefatti che dipendono da un altro artefatto?

C'è un modo per sapere dove un artefatto è una dipendenza di un altro artefatto?

Per esempio, vogliamo sapere quale dei manufatti nel nostro repository di uscita hanno una dipendenza da commons-IO 1.2, o una versione xy della nostra Framework2, o ...

+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

2

hai guardato il Maven Site plugin in congiunzione con il rapporto dependencies e dependencies-convergence dallo Maven Project Info Reports plugin?

Questo genererà un rapporto HTML che mostra tutti gli artefatti che il progetto utilizza e quali altri artefatti che dipendono da tale artefatto.

+0

Il risultato non rispetta l'ambito delle dipendenze, cioè le dipendenze scope test sono elencate accanto alle dipendenze di compilazione e runtime, rendendo il risultato non molto utile. Qualche idea per migliorarlo? La documentazione non elenca i parametri per questo. La soluzione a funzionalità complete con tutti gli ambiti sarebbe utile, ma per il momento sarebbero sufficienti le dipendenze di compilazione reali. – jan

3

mvn dependency:tree dovrebbe aiutarti a ottenere queste informazioni.

+0

Questo otterrà solo le informazioni per il progetto per cui eseguiamo il comando. Vogliamo che un certo artefatto sappia dove è usato come dipendenza da tutti gli artefatti del nostro repository "Release". – Koohoolinn

1

Il client Maven ti dirà solo le dipendenze di un singolo progetto. Ti consigliamo di utilizzare Sonar come parte del processo di creazione. Viene utilizzato principalmente per l'analisi del codice sorgente, ma riporta anche l'utilizzo di una particolare libreria da parte di altri progetti nello stesso database Sonar.

Problemi correlati