Ищите способ визуализировать структуру зависимостей моего многомодульного проекта pom

У меня довольно большой проект (~30 модулей) и я хочу визуализировать взаимозависимости модулей, за исключением сторонних.

Кажется, что существующие инструменты просто не могут справиться с реактором Maven. Плагин зависимостей maven (зависимость: цель дерева) знает, как генерировать graphml, но только для каждого модуля. И если я использую флаг добавления, он просто объединяет все в один файл, поэтому на выходе получается испорченный graphml.

Я также нашел этот инструмент, но кажется, что нет способа контролировать гранулярность модуля.

Моим последним средством будет анализ выходных данных зависимости: дерева, но я подумал, что до этого я буду консультироваться с сообществом.

1 ответ

Мне нравится https://github.com/ferstl/depgraph-maven-plugin для визуализации зависимостей в многомодульном проекте. Чтобы получить агрегированный результат в текстовом формате (например, dependency:tree) для ваших модулей используйте:

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DgraphFormat=text -Dincludes=myGroupId

Синтаксис для include такой же, как и для maven-dependency-plugin includes.

Он имеет множество свойств для настройки результата / поведения. Я предпочитаю использовать его вместе с graphviz, поэтому могу использовать формат графика (по умолчанию) dot и позвольте ему создать png файл в target папка:

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=myGroupId

Есть и другие интересные цели, например example цель - быстро поэкспериментировать со свойствами.

У меня фактически такая же ситуация. у нас есть 4 больших проекта с ~100 pom.xml на проект и зависимости между ними. я не нашел хорошего программного обеспечения.

Теперь я использую структуру 101 (structure101.com), чтобы показать мне зависимости между ними. Конечно, он не основан на maven pom.xml, но в моем случае я думаю, что проблема в том, что у меня есть огромное количество проектов maven в каждом приложении - отсутствующая архитектура программного обеспечения.

в настоящее время я пытаюсь визуализировать эти зависимости на уровне класса / пакета, а также с помощью представления развертывания ( https://en.wikipedia.org/wiki/Deployment_diagram)

Я немного помог тебе.

Программное обеспечение, которое я использовал, но ни один инструмент не был действительно хорош для моего подсчета pom.xml:

Другие вопросы по тегам