2012-08-17 45 views
3

我有奇怪的問題=)。 Maven有一個漂亮的命令 - mvn dependency:tree,它顯示了樹中的依賴模塊,例如模塊A依賴於模塊B. 也許mvn有一些插件,它顯示了在哪裏使用模塊B?例如 - A中使用的模塊B有可能獲得逆相關性?

回答

1

這樣的問題實際上不能由插件來回答,因爲它只會瞭解當前反應堆構建中的模塊。其他地方還可能存在其他依賴關係 - 但依賴關係信息只能存儲在一個方向上。儘管如此,在構建多模塊項目時可以使用--also-make-dependents開關,並且它將構建您指定的模塊的相關模塊。因此,你可以看到他們是什麼。

1

你可以使用依賴:樹變「包括」:

mvn dependency:tree -Dincludes=groupId:B 

它會給類似

[INFO] ------------------------------------------------------------------------ 
[INFO] Building B 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.9:tree (default-cli) @ B --- 
[INFO] groupId:B:jar:0.0.1-SNAPSHOT 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building A 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.9:tree (default-cli) @ A --- 
[INFO] groupId:A:jar:0.0.1-SNAPSHOT 
[INFO] \- groupId:B:jar:0.0.1-SNAPSHOT:compile 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building C 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.9:tree (default-cli) @ C --- 
[INFO]                   

然後你就看到,只有模塊A和B具有依賴性的樹木,其中包括模塊B.