I was looking for (and found) a way to visualize the dependencies between the Maven modules in a multi-module Maven project. In other words: draw a graph with the modules as nodes and the dependencies between them as edges.
I found this plugin. By default it also shows the 3rd party dependencies, so I had to tweak the configuration a little bit.
mvn com.github.ferstl:depgraph-maven-plugin:3.0.1:aggregate -DcreateImage=true -DreduceEdges=false -Dscope=compile "-Dincludes=your.group.id*:*"
will create the file
dependency-graph.png in the
target folder of your project (make sure to install the
You need to replace
your.group.id in the command with the group id of your project. This makes sure that no 3rd party dependencies
are included in the graph.
And because it’s weekend, my girlfriend is in Canada and I want to code some Kotlin,
I wrote a small tool to parse the output from
mvn dependency:tree and create a PlantUML file
from it. Now you can choose to either use the aforementioned plugin or my tool. I published
it under GPLv3 and you can find it on GitHub.