來自:https://www.cnblogs.com/shengulong/p/8280993.html
一個mvn dependency:tree命令執行的輸出如下:
[INFO] +- junit:junit:jar:3.8.1:test (scope not updated to compile) [INFO] +- com.dianping:easyUtil:jar:0.0.2-SNAPSHOT:compile [INFO] | +- org.slf4j:slf4j-api:jar:1.5.8:compile [INFO] | +- org.slf4j:slf4j-log4j12:jar:1.5.8:compile [INFO] | | \- log4j:log4j:jar:1.2.14:compile [INFO] | +- commons-collections:commons-collections:jar:3.2.1:compile [INFO] | +- commons-beanutils:commons-beanutils:jar:1.8.0:compile [INFO] | | \- commons-logging:commons-logging:jar:1.1.1:compile
這是一個樹形結構,展示了各個包之間的依賴關系,不過令我比較好奇的是,為什么有些包前面是\-
。
為了搞清楚這個問題,google了半天也沒找到正確答案,差點抑郁了:)
后來在看另外一個文章的時候,有人提到最好用\-
來表示同一層依賴的最后一個節點,一下子意識到上面的mvn命令輸出中的\-
應該就是這個意思。
何為同一層依賴的最后一個節點?打個可能不太恰當的比喻:他是他爸最小的兒子(如果把依賴樹看成家族樹,依賴樹的根節點看作“老祖宗”的話)。另外,即使他有兒子了,他的標示符還是\-
。