8

Se consideriamo il seguente esempio, qual è la differenza tra i simboli "+ -" e "\ -" e cosa significano?Qual è la differenza tra "+ -" e " -" nell'output dell'albero delle dipendenze Maven?

[INFO] [dependency:tree] 
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT 
[INFO] +- org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:compile 
[INFO] | \- commons-validator:commons-validator:jar:1.2.0:compile 
[INFO] |  \- commons-digester:commons-digester:jar:1.6:compile 
[INFO] |  \- (commons-collections:commons-collections:jar:2.1:compile - omitted for conflict with 2.0) 
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile 
[INFO] \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile 
[INFO]  \- commons-collections:commons-collections:jar:2.0:compile 
+0

Non ha alcun significato specifico Maven o di dipendenza. È solo arte ascii: il '+' è lì perché c'è una linea che va a destra e una linea che scende. Il '\ -' è un tentativo con un angolo di 90 gradi: una linea che va a destra (e non più linee al di sotto di essa). Vedi [questa domanda] (http://stackoverflow.com/questions/1581559/ascii-library-for-creating-pretty-directory-trees) per altri esempi. – Kenney

risposta

9

Questi simboli non hanno alcun significato, sono solo presenti per leggere meglio l'output dell'albero!

Ecco un output più complesso per vedere meglio ciò che fa, su un spring-webmvc dipendenza:

[INFO] +- org.springframework:spring-webmvc:jar:4.2.2.RELEASE:compile 
[INFO] | +- org.springframework:spring-beans:jar:4.2.2.RELEASE:compile 
[INFO] | +- org.springframework:spring-context:jar:4.2.2.RELEASE:compile 
[INFO] | | \- org.springframework:spring-aop:jar:4.2.2.RELEASE:compile 
[INFO] | |  \- aopalliance:aopalliance:jar:1.0:compile 
[INFO] | +- org.springframework:spring-core:jar:4.2.2.RELEASE:compile 
[INFO] | | \- commons-logging:commons-logging:jar:1.2:compile 
[INFO] | +- org.springframework:spring-expression:jar:4.2.2.RELEASE:compile 

consideri l'albero delle dipendenze come i livelli: il primo livello corrisponde alle dipendenze dirette; il secondo livello corrisponde alle dipendenze transitivi di tali dipendenze dirette, ecc

In sostanza, se v'è più di una dipendenza sullo stesso livello per lo stesso manufatto, verrà mostrato un +-, altrimenti verrà mostrato un \-, indicando una "fine" dell'albero (cioè un percorso che conduce a una foglia).

2

Il simbolo più indica più nodi sullo stesso livello, mentre il simbolo - indica un singolo nodo per quel livello di gerarchia.

Quindi, nel tuo caso, maven-dependency-plugin (+ simbolo) ha le dipendenze come transitive maven-reporting-impl e doxia-site-renderer al primo livello, poi maven-reporting-impl ha solo (- simbolo) commons-validator come la dipendenza transitiva diretta e così via.

5

Il \- simbolo indica che il nodo è l'ultimo fratello elencato per il padre corrente

Problemi correlati