I'm not sure if this is related to maven (you cannot have circular dependencies between modules with maven), but maybe I didn't get anything. However, you can use JDepend to analyze a piece of code and search for circular dependencies (see Interpreting dependency loops ). If you prefer to use JDepend from Eclipse, there is a JDepend4Eclipse plugin.
Drop Batik from the subversion repository , run JDepend in your sources and see if you find anything (I think you will). But honestly, that was the easy part. Getting rid of cyclic dependencies is another story and maybe not so simple. This may include tasks such as moving classes from one package to another, repackaging modules, understanding how Batik build works (note that its Ant build script has 2220 lines), etc. In other words, this will require some hard work for the library that you initially just want to use (and if you do not make these changes, you may have to apply them again with a later version). My advice: think about it twice before you start digging in that direction.
There is also a jdepend-maven-plugin for your information, which is only useful if you want to run JDepend in your project (i.e. your code), which is not your request.
source share