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() ) {