public void addURLFile(URL file) {
        try {
            // open and cache JAR file connection 
            URLConnection uc = file.openConnection();
            if (uc instanceof JarURLConnection) {
                uc.setUseCaches(true);
                ((JarURLConnection) uc).getManifest();
                cachedJarFiles.add((JarURLConnection)uc);
            }
        } catch (Exception e) {
            Log.warn("Failed to cache plugin JAR file: " + file.toExternalForm());
        }
        addURL(file);
    }
Add the given URL to the classpath for this class loader, 
caching the JAR file connection so it can be unloaded later

@param file URL for the JAR file or directory to append to classpath
xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginClassLoader.java