Example #1
0
  @Override
  public URL getResource(String name) {

    if (jarResources == null || betaJarResources == null) {
      initializeJarResources();
    }

    if (jarResources == null) {
      return getParent().getResource(name);
    }

    // If beta classloader first try betaJarResources.
    if (beta) {
      Iterator<JarResources> allResources = betaJarResources.iterator();
      while (allResources.hasNext()) {

        JarResources d = allResources.next();

        try {

          URL resource = d.getPathURL(name);
          if (resource != null && d.hasResource(name)) {
            return resource;
          }
        } catch (Exception e) {
        }
      }

      return this.getClass().getClassLoader().getResource(name);
    }

    Iterator<JarResources> allResources = jarResources.iterator();
    while (allResources.hasNext()) {

      JarResources d = allResources.next();

      try {

        URL resource = d.getPathURL(name);
        if (resource != null && d.hasResource(name)) {
          return resource;
        }
      } catch (Exception e) {
      }
    }

    return this.getClass().getClassLoader().getResource(name);
  }