The Artima Developer Community
Sponsored Link

Buzzword {Non}Compliant
Managing Dependencies - JarAnalyzer
by Kirk Knoernschild
April 7, 2006
Managing dependencies is important. JarAnalyzer, an open source static analysis tool for .jar files, can help. Think of it as JDepend for jars.


A while back, I mentioned JarAnalyzer, a utility I created that identifies dependencies among .jar files. Recently, I've put some work into JarAnalyzer, and want to announce a fairly significant upgrade. Here is some of what you can now do with the new JarAnalyzer:

1. Generate a visual component diagram (see Hibernate sample) showing the relationships between your .jar files. To do this, you'll need GraphViz installed.

2. Generate an .xml document (see Hibernate sample) detailing some important .jar design metrics, such as Afferent and Efferent coupling, Abstractness, Instability, and Distance. Included with JarAnalyzer is a stylesheet that generates prettier output.

3. Include JarAnalyzer as part of your Ant build script, so you get the component diagram and detailed xml information each time you build.

4. Run JarAnalyzer standalone, against any directory containing .jar files, to generate the xml or GraphViz output.

5. Filter out packages and .jar files you want excluded from the output, allowing you to focus on only those aspects of the application that most interest you.

If you decide to experiment with JarAnalyzer, and possibly use it on a more regular basis, I'd enjoy hearing from you. Please feel free to suggest any upgrades or revisions you'd like to see built into the utility. Here's my contact information. Also, I've begun posting most of my articles to my personal blog, and that's where I'll continue to provide updates on JarAnalyzer and other topics related to Dependency Management, Agility, and most things technical.

Talk Back!

Have an opinion? Readers have already posted 5 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Kirk Knoernschild adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Kirk Knoernschild is a hands-on software consultant with over ten years of industry experience, and is passionate about using leading best practices to build better software. Kirk is the author Java Design: Objects, UML, and Process, published in 2002 by Addison-Wesley. He frequently contributes to various technical publications, and actively updates his personal website,, with new articles and whitepapers on a variety of software development topics. He is also the founder of, a growing resource of design pattern heuristics in Java.

This weblog entry is Copyright © 2006 Kirk Knoernschild. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use