Я не уверен, что это связано с maven (у вас не может быть циклических зависимостей между модулями с maven), но, возможно, я чего-то не получил. Тем не менее, вы можете использовать JDepend для анализа фрагмента кода и поиска циклических зависимостей (см. Интерпретация циклов зависимости ). Если вы предпочитаете использовать JDepend из Eclipse, есть плагин JDepend4Eclipse .
Извлеките Batik из его хранилища subversion , запустите JDepend на его источниках и посмотрите, найдете ли вы что-нибудь (думаю, у вас получится). Но, честно говоря, это было легко. Избавиться от циклических зависимостей - это другая история, и это может быть не так просто. Это может включать такие задачи, как перемещение классов из одного пакета в другой, переупаковка модулей, понимание того, как работает сборка Batik (обратите внимание, что его скрипт сборки Ant имеет 2220 строк) и т. Д. Другими словами, это потребует некоторой тяжелой работы над библиотекой, которую вы изначально просто хотите использовать (и если вы не внесете эти изменения, вам, возможно, придется применить их снова с более поздним выпуском). Мой совет: подумайте дважды, прежде чем начать копать в этом направлении.
Для вашей информации есть также jdepend-maven-plugin , который полезен только в том случае, если вы хотите запустить JDepend для вашего проекта (т. Е. Вашего кода), который не является вашим запросом.