@Override
    protected URL findResource(String name) {
        Enumeration<? extends ZipEntry> entries = this.pluginArtifactZip.entries();
        while (entries.hasMoreElements()) {
            ZipEntry zipEntry = entries.nextElement();
            if (zipEntry.getName().equalsIgnoreCase(name) || zipEntry.getName().equalsIgnoreCase("WEB-INF/classes/" + name)) {
                try {
                    return extractResource(zipEntry);
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
        }

        ZipEntry entry;
        File file;
        for (ZipFile zipFile : this.dependencyZips) {
            entry = zipFile.getEntry(name);
            if (entry != null) {
                try {
                    file = new File(zipFile.getName());
                    URL zipUrl = file.toURI().toURL();
                    URL entryUrl = new URL("jar:" + zipUrl + "!/" + name);
                    return entryUrl;
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                }
            }
        }

        return super.findResource(name);
    }
@see java.lang.ClassLoader#findResource(java.lang.String)
common/plugin/src/main/java/io/apiman/common/plugin/PluginClassLoader.java