You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by an...@apache.org on 2014/10/29 17:57:31 UTC

svn commit: r1635202 - /maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java

Author: andham
Date: Wed Oct 29 16:57:30 2014
New Revision: 1635202

URL: http://svn.apache.org/r1635202
Log:
[MSHARED-382] JarFile object is not being closed

Modified:
    maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java

Modified: maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java?rev=1635202&r1=1635201&r2=1635202&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java (original)
+++ maven/shared/trunk/maven-dependency-analyzer/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java Wed Oct 29 16:57:30 2014
@@ -148,22 +148,35 @@ public class DefaultProjectDependencyAna
                 // optimized solution for the jar case
                 JarFile jarFile = new JarFile( file );
 
-                Enumeration<JarEntry> jarEntries = jarFile.entries();
+                try
+                {
+                    Enumeration<JarEntry> jarEntries = jarFile.entries();
 
-                Set<String> classes = new HashSet<String>();
+                    Set<String> classes = new HashSet<String>();
 
-                while ( jarEntries.hasMoreElements() )
+                    while ( jarEntries.hasMoreElements() )
+                    {
+                        String entry = jarEntries.nextElement().getName();
+                        if ( entry.endsWith( ".class" ) )
+                        {
+                            String className = entry.replace( '/', '.' );
+                            className = className.substring( 0, className.length() - ".class".length() );
+                            classes.add( className );
+                        }
+                    }
+
+                    artifactClassMap.put( artifact, classes );
+                }
+                finally
                 {
-                    String entry = jarEntries.nextElement().getName();
-                    if ( entry.endsWith( ".class" ) )
+                    try
+                    {
+                        jarFile.close();
+                    }
+                    catch ( IOException ignore )
                     {
-                        String className = entry.replace( '/', '.' );
-                        className = className.substring( 0, className.length() - ".class".length() );
-                        classes.add( className );
                     }
                 }
-
-                artifactClassMap.put( artifact, classes );
             }
             else if ( file != null && file.isDirectory() )
             {