In certain scenario, you may need to load some classes which are not in your classpath.

Java Example

Assume folder “c:\\other_classes\\” is not in your project classpath, here’s an example to show how to load a Java class from this folder. The code and comments are self-explanatory.

import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
import java.security.CodeSource;
import java.security.ProtectionDomain;
 
public class App{
 
	public static void main(String[] args) {
 
	try{
 
		File file = new File("c:\\other_classes\\"); 
 
                //convert the file to URL format
		URL url = file.toURI().toURL(); 
		URL[] urls = new URL[]{url}; 
 
                //load this folder into Class loader
		ClassLoader cl = new URLClassLoader(urls); 
 
                //load the Address class in 'c:\\other_classes\\'
		Class  cls = cl.loadClass("com.mkyong.io.Address");		
 
                //print the location from where this class was loaded
		ProtectionDomain pDomain = cls.getProtectionDomain(); 
		CodeSource cSource = pDomain.getCodeSource(); 
		URL urlfrom = cSource.getLocation();
		System.out.println(urlfrom.getFile());
 
	}catch(Exception ex){
		ex.printStackTrace();
	}
  }
}

Output

/c:/other_classes/

You will notice this class is loaded from “/c:/other_classes/“, which is not in your project classpath.

Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world\'s largest enterprise software company.
Publisher : Oracle Corporation