创建maven项目模块树?

问题描述 投票:0回答:3

我正在寻找一种快速方法,对于任何给定的多模块项目,以显示项目层次结构的快速概述,仅包括项目中的模块,不包括外部依赖项。

例如一个项目

project root
+- A
   +- B
      +- C
   +- D 
      +- E
         +- F
+- G
   +- H

我希望看到 A-H 的快速单屏幕视图(如此处所示),它为我提供了一个快速易懂的视图,以了解项目结构。理想情况下,它是命令行输出,而不是特定于平台的解决方案(我注意到有一个用于 VisualStudio 的工具)。

mvn dependency:tree
很棒,但对于这种情况来说太冗长了,我想我可以将
grep
cut
输出分开,但感觉应该有一种更简单的方法(即另一个插件)。

maven dependencies
3个回答
23
投票

您可以过滤依赖关系树: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

假设您项目的所有模块都在该组内,这将涵盖您的用例。


1
投票

您可以在这里尝试这个模块:MavenStructurePlugin 我遇到了和你一样的问题,发现它非常有用。

输出几乎就是你想要的:

            test
            |
            |__ a
            |
            |__ b
            |
            |
            \__ c
                |
                |__ d
                |
                |__ e
                |
                |__ f

0
投票

更广泛适用的答案:

您可以过滤依赖关系树: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*

假设您项目的所有模块都在该组内,这将涵盖您的用例。 假设您项目的所有模块都在该组内,这将涵盖您的用例。

© www.soinside.com 2019 - 2024. All rights reserved.