Skip to main content

Find the Source Jar of a Class file in Java

/**
*
* Gets the Source Jar File Location for the given Class,
* Useful to troubleshoot Class Related Exceptions/Errors.
* @param className
* @return
*/
public String getClassSourceJar(String className) {
 Class namedClass = null;
 String classSrcJarLocation = null;
try {
namedClass = Class.forName(className);
} catch (ClassNotFoundException e) {
throw new RuntimeException("The Requested Class is Not Found "+className);
}
CodeSource src = null;
if(namedClass!=null) {
src = namedClass.getProtectionDomain().getCodeSource();
 if(src!=null) {
 URL jar = src.getLocation();
 if(jar!=null) {
 classSrcJarLocation = jar.toString();
 }
 }
}
 return classSrcJarLocation;
}

Comments

Popular posts from this blog

Design Patterns using Java

According to Gang of Four(GOF) any software is classified in to one of the three categories. I read so many books about design patterns which provide a lot of information about Design Patterns in a language neutral way or related to a particular programming language. I am trying to complement the great books by providing the precise and concise information that is required in the day to day programming of a Java Developer. Any software can be classified into one of the three categories -Framework, Toolkit, Application. Framework - Framework defines a set of steps to create an application. Framework provides design reuse. Toolkit - Toolkit provides some utility functions to an existing application. Toolkit provides code reuse. Application - Application is some thing that is specific to the project, and is not useful outside the context of the current application. Gang of Four divided the Design Patterns in to 3 types based on their usage. There are 3 types of Gang of Fo