Google is your friend:
http://depfind.sourceforge.net/ As they point out, a lot of times it's easier to simply hyperlink through the chain in an
IDE however. Function call graphs have not been very useful to me in object-oriented systems - I pretty much gave them up when I stopped using C.
I think I used depfind to weed out unused JARs, but that was about 2 years ago.
Also, no static analysis tool can 100% guarantee to find everything. Classloaders can load classes dynamically. A common example is
JDBC driver loading.