3

我有一个奇怪的问题=)。Maven 有漂亮的命令 - mvn dependency:tree,它在树中显示依赖模块,例如模块 A 依赖于模块 B。也许 mvn 有一些插件可以显示模块 B 的使用位置?例如 - A 中使用的模块 B

4

4 回答 4

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 的依赖关系树。

于 2014-10-31T15:43:58.387 回答
1

maven中没有这样的机制。

对于 maven 中央存储库,搜索引擎http://mvnrepository.com/提供了一个部分This artifact is used by ...

于 2012-08-17T15:54:44.853 回答
1

插件无法真正回答这样的问题,因为它只知道当前反应堆构建中的模块。其他地方可能存在一些其他依赖关系 - 但依赖关系信息只存储在一个方向上。

话虽如此,您可以--also-make-dependents在构建多模块项目时使用该开关,它将构建您指定的模块的依赖模块。因此,您可以看到它们是什么。

于 2012-08-17T15:42:35.013 回答
0

至少在查看大型多模块结构时,versions-maven-plugin 可能会有所帮助

于 2013-05-09T13:21:54.223 回答