我正在寻找一种快速方法,对于任何给定的多模块项目,以显示项目层次结构的快速概述,仅包括项目中的模块,不包括外部依赖项。
例如一个项目
project root
+- A
+- B
+- C
+- D
+- E
+- F
+- G
+- H
我希望看到 A-H 的快速单屏幕视图(如此处所示),它为我提供了一个快速易懂的视图,以了解项目结构。理想情况下,它是命令行输出,而不是特定于平台的解决方案(我注意到有一个用于 VisualStudio 的工具)。
mvn dependency:tree
很棒,但对于这种情况来说太冗长了,我想我可以将grep
和cut
输出分开,但感觉应该有一种更简单的方法(即另一个插件)。
您可以过滤依赖关系树: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
假设您项目的所有模块都在该组内,这将涵盖您的用例。
您可以在这里尝试这个模块:MavenStructurePlugin 我遇到了和你一样的问题,发现它非常有用。
输出几乎就是你想要的:
test
|
|__ a
|
|__ b
|
|
\__ c
|
|__ d
|
|__ e
|
|__ f
更广泛适用的答案:
您可以过滤依赖关系树: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*
假设您项目的所有模块都在该组内,这将涵盖您的用例。 假设您项目的所有模块都在该组内,这将涵盖您的用例。