Close JarInputStream and FileInputStream after usage.

Otherwise a lot of open files hang around, which might lead to resource leaks
and maybe slow down processing.

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1589261 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtils.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtils.java
index 41a5f2d..06375e5 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtils.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtils.java
@@ -94,20 +94,24 @@
         throws IOException
     {
         JarInputStream in = new JarInputStream( url.openStream() );
-
-        JarEntry entry = null;
-
-        while ( ( entry = in.getNextJarEntry() ) != null )
+        try
         {
-            String name = entry.getName();
+            JarEntry entry = null;
 
-            if ( name.endsWith( ".class" ) )
+            while ( ( entry = in.getNextJarEntry() ) != null )
             {
-                visitClass( name, in, visitor );
+                String name = entry.getName();
+
+                if ( name.endsWith( ".class" ) )
+                {
+                    visitClass( name, in, visitor );
+                }
             }
         }
-
-        in.close();
+        finally
+        {
+            in.close();
+        }
     }
 
     private static void acceptDirectory( File directory, ClassFileVisitor visitor )
@@ -134,9 +138,14 @@
             File file = new File( directory, path );
             FileInputStream in = new FileInputStream( file );
 
-            visitClass( path, in, visitor );
-
-            in.close();
+            try
+            {
+                visitClass( path, in, visitor );
+            }
+            finally
+            {
+                in.close();
+            }
         }
     }