How To Get Class Loaded Path

This example illustrates how to get the class loaded path. If you are aware of the java.lang.Class, it has methods for knowing the details of a class. There are many details this object can reveal us, one of the method defined in that class is Class.getProtectionDomain() which is useful for getting the source code path by calling the another method Class.codeSource(). Once we get the CodeSource, getLocation() method returns the path of the class file in the java.net.URL object.

Note that, each instance has “class” variable which returns the java.lang.Class for that particular object.

Lets look this example.

ClassLoadedFromExample.java

package infosys.net.core;

import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;

/**
 * Get class loaded path example
 *
 * @author Krishna
 *
 */
public class ClassLoadedFromExample {
	public static void main(String[] args) {
		new ClassLoadedFromExample().getClassLocation();
	}

	/**
	 * Get the location of the class loaded path.
	 */
	private void getClassLocation() {
		//Get the class object
		Class<?> classVar = this.getClass();

		//Get the ProtectionDomain
		ProtectionDomain protectDomain = classVar.getProtectionDomain();

		//Get the CodeSource
		CodeSource codeSource = protectDomain.getCodeSource();

		//Get location from the CodeSource
		URL fileLocation = codeSource.getLocation();

		//Print the location of the class
		System.out.println("Class Loaded From : " + fileLocation);

	}

}

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>