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.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.