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);

	}

}

Comments

comments

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Speak Your Mind

*