2011-09-13 201 views
11

對於任何給定的多模塊項目,我正在尋找一種快速方法來顯示項目層次結構的快速概覽,其中僅包括項目中的模塊,不包括外部依賴關係。創建一個Maven項目模塊樹?

例如,對於一個項目

project root 
+- A 
    +- B 
     +- C 
    +- D 
     +- E 
     +- F 
+- G 
    +- H 

我想看到AH(就像它在這裏描述)的快速,單一屏幕視圖,讓我快速消化以期獲得一個項目結構的想法。理想情況下,它將是命令行輸出,而不是平臺特定的解決方案(我注意到有一個用於VisualStudio的工具)。

mvn dependency:tree是偉大的,但對於這種情況太冗長,我想我可以grepcut輸出分開,但感覺應該有一個更簡單的方法(即另一個插件)。

回答

16

您可以篩選依賴關係樹:http://maven.apache.org/plugins/maven-dependency-plugin/examples/filtering-the-dependency-tree.html

所以,如果你的組ID爲com.foo.bar,你可以得到在該組ID的項目:

mvn dependency:tree -Dincludes=com.foo.bar 

假設所有的項目的模塊在那個小組內,這將涵蓋你的用例。

+0

尼斯,感謝佈雷特。 – markdsievers

+0

對我來說mvn依賴:樹不能按照假定的方式工作。 如果我有A取決於B和C,而B取決於C,Maven依賴關係:樹顯示A取決於B和C,但是取決於C取決於B。 – Uberto

+1

@Uberto嘗試mvn依賴關係:樹 - Dverbose – David

1

你可以在這裏試試這個模塊:MavenStructurePlugin 我有和你一樣的問題,並發現它非常有用。

輸出是相當多的你彷彿想:

  test 
      | 
      |__ a 
      | 
      |__ b 
      | 
      | 
      \__ c 
       | 
       |__ d 
       | 
       |__ e 
       | 
       |__ f