/** * Create a {@link java.net.URLClassLoader} which has the capability of * loading classes jar under an exploded war application. * * @param applicationPath Application class path. * @throws java.io.IOException I/O error. */ protected void configureClassLoader(String applicationPath) throws IOException{ if( classLoader == null ) classLoader = ClassLoaderUtil.createURLClassLoader(applicationPath); }
/** * Construct a {@link URLClassLoader} based on a canonical file location. * * @param location a canonical path location * @param parent {@link ClassLoader} to be used as parent for returned one. * @return a {@link URLClassLoader} * @throws java.io.IOException I/O * @throws java.net.MalformedURLException Invalid URL */ public static URLClassLoader createURLClassLoader(String location, ClassLoader parent) throws IOException { ClassLoader loader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(parent); try { return createURLClassLoader(location); } finally { Thread.currentThread().setContextClassLoader(loader); } }