code: public static URL[] getJarURLs() throws IOException {
          final List<URL> urlList = new LinkedList<>();
  
          for (final JarFile jarFile : ClasspathUtils.getJarFiles()) {
              final Manifest manifest = jarFile.getManifest();
              final URL jarURL = new URL(JAR_URL_PROTOCOL + jarFile.getName() + "!/");
  
              urlList.add(jarURL);
  
              if (manifest != null) {
                  final Attributes attributes = manifest.getMainAttributes();
  
                  if (attributes != null) {
                      final String classpath = attributes.getValue("Class-Path");
  
                      if (classpath != null) {
                          final StringTokenizer tokenizer = new StringTokenizer(classpath);
  
                          while (tokenizer.hasMoreTokens()) {
                              final String jarPath = tokenizer.nextToken();
  
                              if (jarPath.endsWith(".jar")) {
                                  urlList.add(new URL(jarURL.toExternalForm() + jarPath));
                              }
                          }
                      }
                  }
              }
  
              jarFile.close();
          }
  
          return urlList.toArray(new URL[0]);
      }
docs: Gets a list of jar files in the classpath (this includes jars in jars, one level deep).
  
  @return An array of {@link URL}s found in the classpath
  @throws IOException If there is trouble reading the classpath