我有一个奇怪的问题 =)。Maven有一个漂亮的命令 - mvn dependency:tree,它以树形式显示依赖模块,例如模块A依赖于模块B。 也许mvn有一些插件可以显示使用模块B的位置?例如- 模块B用于A。
我有一个奇怪的问题 =)。Maven有一个漂亮的命令 - mvn dependency:tree,它以树形式显示依赖模块,例如模块A依赖于模块B。 也许mvn有一些插件可以显示使用模块B的位置?例如- 模块B用于A。
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。
这样的问题实际上无法通过插件来回答,因为它只知道当前反应堆构建中的模块。可能会有其他依赖关系在别处 - 但是依赖信息始终只存储在一个方向。
话虽如此,在构建多模块项目时,您可以使用--also-make-dependents
开关,它将构建指定模块的依赖模块。因此,您可以看到它们是什么。