private Class<?> loadClass(final String classname) throws PluginException {
        if (null == classname) {
            throw new IllegalArgumentException("A null java class name was specified.");
        }
        if (null != classCache.get(classname)) {
            return classCache.get(classname);
        }
        CachedJar cachedJar1 = getCachedJar();

        debug("loadClass! " + classname + ": " + cachedJar1.getCachedJar());
        final Class<?> cls;
        final URLClassLoader urlClassLoader = cachedJar1.getClassLoader();
        try {
            cls = Class.forName(classname, true, urlClassLoader);
            classCache.put(classname, cls);
        } catch (ClassNotFoundException e) {
            throw new PluginException("Class not found: " + classname, e);
        } catch (Throwable t) {
            throw new PluginException("Error loading class: " + classname, t);
        }
        return cls;
    }
private Class < ? > loadClass ( final String classname ) throws PluginException { if ( null == classname ) { throw new IllegalArgumentException ( "A null java class name was specified." ) ; } if ( null != classCache . get ( classname ) ) { return classCache . get ( classname ) ; } CachedJar cachedJar1 = getCachedJar ( ) ; debug ( "loadClass! " + classname + ": " + cachedJar1 . getCachedJar ( ) ) ; final Class < ? > cls ; final URLClassLoader urlClassLoader = cachedJar1 . getClassLoader ( ) ; try { cls = Class . forName ( classname , true , urlClassLoader ) ; classCache . put ( classname , cls ) ; } catch ( ClassNotFoundException e ) { throw new PluginException ( "Class not found: " + classname , e ) ; } catch ( Throwable t ) { throw new PluginException ( "Error loading class: " + classname , t ) ; } return cls ; }
Load a class from the jar file by name