private void parseJars(String[] files) throws IOException {
  if (files == null) {
    return;
  }
  String currentJar=null;
  for (int i=0; i < files.length; i++) {
    currentJar=files[i];
    ZipFile zrf=new ZipFile(currentJar.replace('/',File.separatorChar));
    Enumeration<? extends ZipEntry> entries=zrf.entries();
    while (entries.hasMoreElements()) {
      ZipEntry entry=entries.nextElement();
      String fileName=entry.getName();
      if (fileName.equals("META-INF/") || fileName.equals(INDEX_NAME) || fileName.equals(JarFile.MANIFEST_NAME))       continue;
      if (!metaInfFilenames || !fileName.startsWith("META-INF/")) {
        add(fileName,currentJar);
      }
 else       if (!entry.isDirectory()) {
        addMapping(fileName,currentJar);
      }
    }
    zrf.close();
  }
}

private void parseJars ( String [ ] files ) throws IOException { if ( files == null ) { return ; } String currentJar = null ; for ( int i = 0 ; i < files . length ; i ++ ) { currentJar = files [ i ] ; ZipFile zrf = new ZipFile ( currentJar . replace ( '/' , File . separatorChar ) ) ; Enumeration < ? extends ZipEntry > entries = zrf . entries ( ) ; while ( entries . hasMoreElements ( ) ) { ZipEntry entry = entries . nextElement ( ) ; String fileName = entry . getName ( ) ; if ( fileName . equals ( "META-INF/" ) || fileName . equals ( INDEX_NAME ) || fileName . equals ( JarFile . MANIFEST_NAME ) ) continue ; if ( ! metaInfFilenames || ! fileName . startsWith ( "META-INF/" ) ) { add ( fileName , currentJar ) ; } else if ( ! entry . isDirectory ( ) ) { addMapping ( fileName , currentJar ) ; } } zrf . close ( ) ; } }
go through all the jar files and construct the index table .
