Finding a jar file which contains a Java class

- 1 min

Have you ever needed to find a jar file which contains a particular java class? If you’re answer is affirmative, please continue reading!

In this short article, I will share one way to do this task in the Unix-like world using sh, ksh or bash. There’re a lot of other ways to do this task so if you have a different one just leave a comment with the code and spread the knowledge!

Let’s start finding the jar files:

find <dir> -name '*.jar'

Now we need to print all jar files contents and find the java class, the first approach could be:

find <dir> -name '*.jar' | xargs -I @ jar -tvf @ | grep <java class>

We found the java class but we don’t know which jar file it belongs to so let’s try another way:

find <dir> -name '*.jar' | while read F; do (echo $F; jar -tvf $F | grep <java class>) done

Great! We can see which jar file is been inspected and when the java class is found it’s printed. Simple, isn’t it? This is just one line that shows the power of unix command shell!

Happy Hacking!

Abner Ballardo

Abner Ballardo

In permanent beta: learning, adapting and evolving

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora