Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
titleTable of Contents

Table of Contents

When talking about architecture the first priority is to remove cycles between packages by cutting undesired dependencies.

How to Hunt for Cycles?

Add the Package design widget on your dashboard:

Drill down to the Dependency Structure Matrix (DSM).

Dependency Structure Matrix

The DSM is a compact way to represent and navigate across dependencies between components. According to the navigation level, those components can be Maven modules, packages or files:



Row Selection

A row can be selected by clicking on the component name :

Colors Meaning

Colors are used to help visualize row dependencies at a glance :

Which means that green components depend on blue components which depends on orange components. Here is a simple example on commons collections project:

Cell Selection

A cell can be selected by clicking on the number of file dependencies :

DSM Sorting and Cycles

Find Usages for Dependencies


The detail of a dependency is not available between Maven modules.

Zoom into a Component to get Dependencies Between Sub-components