Другим вариантом является плагин com.github.janssk1 maven. . Этот плагин выводит зависимости в файл graphml, который можно открывать и редактировать в редакторе, например yEd.
Чтобы создать файл graphml:
mvn com.github.janssk1:maven-dependencygraph-plugin:1.0:graph
Этот плагин в настоящее время не предоставляет какого-либо механизма исключения сторонних зависимостей, AFAICT, но их можно удалить вручную из графика, используя yEd или через таблицу стилей XSLT, которая выполняет пост-обработку файлов graphml. Вот простая таблица стилей, которая удалит сторонние зависимости (любые зависимости, не начинающиеся с пакета, предоставленного параметром "internal"):
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:gml="http://graphml.graphdrawing.org/xmlns/graphml"
version="2.0">
<xsl:output method="xml"/>
<xsl:param name="internal"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="gml:node[not(starts-with(@id, $internal))]"/>
<xsl:template match="gml:edge[not(starts-with(@source, $internal)) or not(starts-with(@target, $internal))]"/>
</xsl:stylesheet>
И выполнить его через XSLT 2.0-совместимый процессор, такой как Saxon:
saxon input.graphml exclude-third-party-deps.xsl internal="my.package" > input-internal.graphml