Rich
Rich

Reputation: 15767

Tools for finding all dependencies in Java jars

Are there any tools that can be given a classpath or folder, and will search through all the .jar files looking for references to a particular class?

It would have saved me a day of searching in order to resolve this kind of problem.

In my case I had to find out where a rogue reference to a class was coming from, as it was stopping JBoss from starting correctly due to a NoClassDefFoundError. I suppose I am looking for this:

java -jar magicbullet.jar /path/to/search com.myproject.DodgyClass
Searching...
com.problematic.Otherclass in /path/to/search/dodgy.jar implements com.myproject.DodgyClass

Or similar. If not, I'll write one.

Upvotes: 6

Views: 2406

Answers (3)

Angel O'Sphere
Angel O'Sphere

Reputation: 2666

Google for "JarAnalyzer" a helpfull tool doing more exactly what you want (and a bit more ;D )

Upvotes: 0

Stanley Shyiko
Stanley Shyiko

Reputation: 580

Under Linux (or Cygwin on Windows) you may use script from https://gist.github.com/980697.

Usage: findclass.sh <directory> <className>

Example: findclass.sh . ClassName (means "search for class named ClassName inside all jars/wars/ears/sars located within current directory and all its subdirectories")

Upvotes: 3

sinha
sinha

Reputation: 588

Use Tattletale - http://www.jboss.org/tattletale. It helps you create an index which is very handy to search for classes etc.

Upvotes: 4

Related Questions