(File file, ClassLoader classloader)
| 393 | } |
| 394 | |
| 395 | private void scanJar(File file, ClassLoader classloader) throws IOException { |
| 396 | JarFile jarFile; |
| 397 | try { |
| 398 | jarFile = new JarFile(file); |
| 399 | } catch (IOException e) { |
| 400 | // Not a jar file |
| 401 | return; |
| 402 | } |
| 403 | try { |
| 404 | for (File path : getClassPathFromManifest(file, jarFile.getManifest())) { |
| 405 | scan(path, classloader); |
| 406 | } |
| 407 | scanJarFile(classloader, jarFile); |
| 408 | } finally { |
| 409 | try { |
| 410 | jarFile.close(); |
| 411 | } catch (IOException ignored) {} |
| 412 | } |
| 413 | } |
| 414 | |
| 415 | /** |
| 416 | * Returns the class path URIs specified by the {@code Class-Path} manifest attribute, according |
no test coverage detected