package uk.ac.imperial.lsds.seep.util; import java.net.URL; import java.net.URLClassLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class RuntimeClassLoader extends URLClassLoader{ final private Logger LOG = LoggerFactory.getLogger(RuntimeClassLoader.class); public RuntimeClassLoader(URL[] urls, ClassLoader cl) { super(urls, cl); } public void addURL(URL url){ super.addURL(url); } public Class<?> loadClass(String name){ try { return super.loadClass(name); } catch (ClassNotFoundException e) { URL[] loadURLs = super.getURLs(); for(URL u : loadURLs){ LOG.error("This URL: "+u); } LOG.error("When trying to load: "+name); try { return Class.forName(name); } catch (ClassNotFoundException e1) { LOG.error("MSG: "+e1.getMessage()); e1.printStackTrace(); } } return null; } }