我有奇怪的问题=)。 Maven有一个漂亮的命令 - mvn dependency:tree,它显示了树中的依赖模块,例如模块A依赖于模块B. 也许mvn有一些插件,它显示了在哪里使用模块B?例如 - A中使用的模块B有可能获得逆相关性?
3
A
回答
1
这样的问题实际上不能由插件来回答,因为它只会了解当前反应堆构建中的模块。其他地方还可能存在其他依赖关系 - 但依赖关系信息只能存储在一个方向上。尽管如此,在构建多模块项目时可以使用--also-make-dependents
开关,并且它将构建您指定的模块的相关模块。因此,你可以看到他们是什么。
1
maven中没有这样的机制。
对于Maven的中央存储库,搜索引擎http://mvnrepository.com/提供此神器使用......一个部分
0
的versions-maven-plugin可能有帮助,至少在看一个大的多模块结构时。
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.