Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where did this class come from?

How would you go about establishing where a class ( or maybe resource ) has been loaded from?

I am trying to work out exactly where a class has been loaded from. Does anyone know if you can find out the following:

  1. Which Jar file did the class come from ?
  2. What classloader loaded the file?
like image 348
Karl Avatar asked Dec 23 '22 04:12

Karl


1 Answers

The class Class has an instance method getClassLoader() that returns a reference to the class loader that loaded the class it represents. Note that this can return null. See here.

So, if you wanted to know which classloader loaded String (just as an example) you could do:

ClassLoader loader = String.class.getClassLoader();

or:

ClassLoader loader = "I'm a String".getClass().getClassLoader();
like image 183
Syntactic Avatar answered Jan 05 '23 23:01

Syntactic