Maven Dependencies Diagram

Anyone working on large Maven projects knows well about how hard it is to keep in mind all the dependencies between modules and libraries; and even harder, to resolve conflicts between them. We’ve greatly improved Maven Dependencies Diagram to make this whole thing a lot simpler.

There are several approaches to resolving dependency conflicts, and so we created a special layout that shows you dependencies (nodes) in the exact order as they are defined in pom.xml files. This differs from other Maven dependency diagrams: for example, in Eclipse this diagram looks like this:

It’s hard to understand and impossible to navigate from node to node by keyboard. All artifacts with different version numbers are merged (multiple incoming links per node), and there are no visible conflicts. IntelliJ IDEA shows you dependency layout exactly in the order they are defined in pom.xml

It’s easy to find your modules on diagram — they all are blue, as well as test dependencies are green. Conflicting dependencies are marked red, and you can find what they conflicted with by selecting one of them:

You can fix a conflict by excluding a dependency. IntelliJ IDEA will offer all places where it’s possible to add the exclusion definition:

Navigation from nodes to POM files is also convenient. Each dependency links directly to the place where it was defined:

On huge dependency diagrams it is useful to use scope filter to decrease number of nodes:

Maven Dependencies Diagram will be available in the first EAP of IntelliJ IDEA 10. Your suggestions and feature requests are welcome.

image description